„`html
Zusammenfassung
CVE-2026-10646 ist eine kritische Use-After-Return-Schwachstelle in der getaddrinfo()-Implementierung des Zephyr RTOS (subsys/net/lib/sockets/getaddrinfo.c). Eine fehlerhafte Fehlerbehandlung bei DNS-Resolver-Timeouts führt zu einer Nutzung von Stack-Pointern nach deren Ungültigkeit. Ein Angreifer kann gezielt manipulierte DNS-Responses über das Netzwerk senden, um Stack-Speicher zu korruptieren und damit DoS oder Speicherfehler auszulösen.
Betroffene Systeme
Zephyr RTOS: v4.0.0 bis v4.4.0
Alle eingebetteten Systeme und IoT-Geräte, die auf diesen Zephyr-Versionen mit aktivierter DNS-Resolver-Funktionalität basieren, sind potenziell vulnerabel.
Technische Details
Die Vulnerability liegt im Timeout-Handling des asynchronen DNS-Resolvers. Das System speichert einen Pointer auf ein Stack-lokales Zustandsobjekt (struct getaddrinfo_state ai_state) als user_data in der Resolver-Query. Bei Timeout-Bedingungen wird die Query erneut gesendet (goto again), ohne die vorangegangene Query zu stornieren oder das Semaphor zurĂĽckzusetzen.
Der stale Callback bleibt aktiv mit dem veralteten Stack-Pointer. Wenn eine DNS-Response mit übereinstimmender 16-Bit-Transaction-ID einkommt, wird dns_resolve_cb() gegen den now-out-of-scope Stack-Frame ausgeführt. Dies ermöglicht Speicherschreiboperationen auf ungültige Adressen (state-status, state-idx, state-ai_arr[], k_sem_give()).
Da die triggernde Response vom Netzwerk kommt und die 16-Bit-ID durch einen On- oder Off-Path-Attacker spoofbar ist, handelt es sich um eine netzwerk-beeinflussbare Use-After-Return mit hohem Gefährdungspotential.
Empfohlene Massnahmen
- Sofortig: Aktualisierung auf Zephyr v4.5.0 oder höher
- DNS-Resolver-Queries vor Retry stornieren und Semaphore zurĂĽcksetzen
- Netzwerk-Segmentierung zur Eingrenzung von DNS-Traffic implementieren
- Monitoring von unerwarteten Crashes eingebetteter Systeme verstärken
- In-place-Patches des Zephyr-Codes (subsys/net/lib/sockets/getaddrinfo.c) bei Bedarf prĂĽfen
Bewertung
CVSS-Score: 7.4 (High)
Angriffsvektor: Netzwerk
Patch-Status: Erhältlich in aktuellen Zephyr-Versionen
Diese Schwachstelle erfordert erhöhte Aufmerksamkeit für IoT- und Embedded-Systems-Umgebungen. Unverzügliches Patching wird empfohlen.
„`