„`html
Zusammenfassung
CVE-2026-10666 ist eine kritische Stack-Buffer-Overflow-Schwachstelle in der parse_ipv4()-Funktion des Zephyr RTOS. Die Funktion verarbeitet IPv4-Adressen mit Portnummern unsicher und ermöglicht Angreifern durch speziell präparierte Eingabestrings einen unkontrollierten Stack-Buffer-Overflow. Der Fehler besteht seit Zephyr v1.9.0 und beeinflusst alle Versionen bis einschließlich v4.4.0.
Betroffene Systeme
Alle Zephyr RTOS-Versionen von v1.9.0 bis v4.4.0. Betroffen sind insbesondere Anwendungen, die netzwerkbeeinflusste Adressstrings über folgende Vektoren verarbeiten:
- zsock_getaddrinfo() API für Literal-Address-Auflösung
- DNS-Server-String-Konfiguration
- eswifi Wi-Fi Co-Prozessor DNS-Response-Pfad
Technische Details
Die verwundbare Funktion parse_ipv4() in subsys/net/ip/utils.c kopiert den Port-Substring mittels memcpy() in einen 17-Byte-Stack-Buffer ohne Größenvalidierung. Die Kopierungslänge wird berechnet als (str_len – end – 1), wobei str_len die unbegrenzte Eingabelänge und end nur das Offset des Doppelpunkt-Trennzeichens (≤15 Bytes) darstellt.
Ein Angreifer kann eine manipulierte IPv4-Adresse wie „1.2.3.4:“ gefolgt von mehreren hundert Bytes versenden. Dies führt zu einem Out-of-Bounds-Stack-Write mit vollständig attacker-kontrollierter Länge und Inhalt (memcpy des Suffixes plus Null-Terminator), was zu Memory Corruption führt.
Das Schweregrad wird mit 8.1 (CVSS High) bewertet. Die Auswirkungen reichen von Denial-of-Service bis zu möglicher Control-Flow-Hijacking.
Empfohlene Massnahmen
- Aktualisierung auf Zephyr v4.5.0 oder neuer durchführen
- Eingabevalidierung für netzwerkbeeinflusste Adressstrings implementieren
- Port-String-Länge vor dem Kopieren validieren
- IPv6-Parsing (parse_ipv6()) überprüfen – gleiche Vulnerability existiert dort
- Stack-Schutzmaßnahmen (ASLR, Stack Canaries) aktivieren
Bewertung
CVSS Score: 8.1 (High)
Angriffsvektor: Network
Patch-Status: Nicht verfügbar zum Publikationszeitpunkt
Exploitbarkeit: Hoch – die Schwachstelle ist über öffentliche APIs erreichbar
„`