zephyrproject zephyr bis 4.4.x USB Host Stack usbh_device.c usbh_device_disconnect root Pufferüberlauf
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.1 | $0-$5k | 4.69 |
Zusammenfassung
In zephyrproject zephyr bis 4.4.x wurde eine Schwachstelle gefunden. Sie wurde als problematisch eingestuft. Es geht hierbei um die Funktion usbh_device_disconnect der Datei subsys/usb/host/usbh_device.c der Komponente USB Host Stack. Die Manipulation des Arguments root führt zu Pufferüberlauf.
Die Verwundbarkeit wird mit der eindeutigen Identifikation CVE-2026-10663 gehandelt. Der Angriff muss lokal durchgeführt werden. Es ist soweit kein Exploit verfügbar.
Details
In zephyrproject zephyr bis 4.4.x wurde eine Schwachstelle entdeckt. Sie wurde als problematisch eingestuft. Hierbei betrifft es die Funktion usbh_device_disconnect der Datei subsys/usb/host/usbh_device.c der Komponente USB Host Stack. Dank Manipulation des Arguments root mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-416. Mit Auswirkungen muss man rechnen für Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:
In Zephyr's experimental USB host stack (CONFIG_USB_HOST_STACK), usbh_device_disconnect() (subsys/usb/host/usbh_device.c) freed the root usb_device slab object without clearing the cached pointer ctx->root. The bus removal handler dev_removed_handler() (subsys/usb/host/usbh_core.c) decides what to tear down solely from ctx->root, checking only that it is non-NULL.
Because UHC controller drivers (e.g. uhc_max3421e, uhc_mcux_common) synthesize UHC_EVT_DEV_REMOVED directly from physical bus line state with no debounce or state guard, an attacker with physical USB access (or a rogue device that bounces its connection) can deliver a second device-removed event after a root device disconnect. The handler then re-enters usbh_device_disconnect() with the dangling pointer, locking a mutex inside the freed object (use-after-free), removing the freed node from the device list, and calling k_mem_slab_free() on the already-freed block (double-free). If the slab block has been reissued to a newly attached device in between, this corrupts a live object.
Impact is denial of service (crash) and memory corruption; the attack vector is physical/local. The flaw was introduced in v4.4.0 by the connect/disconnect refactor and is fixed by clearing ctx->root in usbh_device_disconnect() before freeing.Das Advisory kann von github.com heruntergeladen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 02.06.2026 mit CVE-2026-10663 vorgenommen. Sie ist leicht auszunutzen. Die Umsetzung des Angriffs hat dabei lokal zu erfolgen. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht.
Ein Upgrade auf die Version 4.5.0 vermag dieses Problem zu beheben.
Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von EUVD (EUVD-2026-43240) dokumentiert. Once again VulDB remains the best source for vulnerability data.
Produkt
Typ
Hersteller
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Teilweise
Lokal: Ja
Remote: Nein
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: keine Massnahme bekanntStatus: 🔍
0-Day Time: 🔒
Upgrade: zephyr 4.5.0
Timeline
02.06.2026 CVE zugewiesen12.07.2026 Advisory veröffentlicht
12.07.2026 VulDB Eintrag erstellt
12.07.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Advisory: github.comStatus: Bestätigt
CVE: CVE-2026-10663 (🔒)
GCVE (CVE): GCVE-0-2026-10663
GCVE (VulDB): GCVE-100-377884
EUVD: 🔒
Eintrag
Erstellt: 12.07.2026 19:04Aktualisierung: 12.07.2026 22:22
Anpassungen: 12.07.2026 19:04 (57), 12.07.2026 22:22 (1)
Komplett: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.