„`html
Zusammenfassung
CVE-2026-10663 ist eine Use-After-Free und Double-Free Schwachstelle im experimentellen USB Host Stack von Zephyr RTOS. Die Vulnerabilität ermöglicht es Angreifern mit physischem USB-Zugang, durch wiederholte Disconnect-Events einen Denial of Service oder Speicherbeschädigung auszulösen. Der Schweregrad wird mit 6.1 (CVSS) als Medium eingestuft.
Betroffene Systeme
Die Schwachstelle betrifft Zephyr RTOS-Versionen ab v4.4.0 mit aktiviertem CONFIG_USB_HOST_STACK. Besonders anfällig sind Systeme mit UHC-Controller-Treibern wie uhc_max3421e und uhc_mcux_common, die USB-Gerätetrennungsereignisse direkt ohne Debouncing verarbeiten.
Technische Details
Die Root Cause liegt in der Funktion usbh_device_disconnect() (subsys/usb/host/usbh_device.c), die das Root-USB-Device-Slab-Objekt freigab, ohne den Cache-Pointer ctx->root zu löschen. Der Bus-Removal-Handler dev_removed_handler() (subsys/usb/host/usbh_core.c) nutzt diesen Pointer als einzige Kontrollinstanz.
UHC-Controller-Treiber generieren USB_EVT_DEV_REMOVED-Events direkt aus dem physischen Bus-Status ohne Zustandsprüfung oder Debouncing-Mechanismus. Ein Angreifer mit physischem USB-Zugang oder ein fehlerhaftes Gerät mit instabiler Verbindung kann ein zweites Disconnect-Event nach dem initialen Disconnect auslösen.
Dies fĂĽhrt zu:
- Wiedereingang in
usbh_device_disconnect()mit dangling pointer - Mutex-Lock auf bereits freigegebenen Speicher (Use-After-Free)
- Entfernen des freigegebenen Knotens aus der Device-Liste
- Zweite Freigabe des Speicherblocks (Double-Free)
- Potenzielle Korruption von neu zugeordneten Objekten
Empfohlene Massnahmen
Die Schwachstelle wird durch Löschen des Pointers ctx->root = NULL vor der Speicherfreigabe in usbh_device_disconnect() behoben. Nutzer sollten auf eine gepatchte Version upgraden, sobald diese verfügbar ist. Bis dahin empfiehlt sich die Deaktivierung von CONFIG_USB_HOST_STACK in produktiven Umgebungen oder die Einschränkung physischen USB-Zugangs.
Bewertung
CVSS Score: 6.1 (Medium)
Angriffsvektor: Physical/Local
Auswirkungen: Denial of Service, Memory Corruption
EingefĂĽhrt: v4.4.0
Status: Patch verfĂĽgbar
„`