Zephyr Project bis 4.4.1 USB Device Controller Driver udc_it82xx2.c it82xx2_enable Pufferüberlauf
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 4.9 | $0-$5k | 0.00+ |
Zusammenfassung
In Zephyr Project Zephyr bis 4.4.1 wurde eine Schwachstelle gefunden. Sie wurde als kritisch eingestuft. Davon betroffen ist die Funktion it82xx2_enable der Datei drivers/usb/udc/udc_it82xx2.c der Komponente USB Device Controller Driver. Dank Manipulation mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird als CVE-2026-16148 geführt. Der Angriff hat dabei lokal zu erfolgen. Es ist kein Exploit verfügbar.
Es wird empfohlen, die betroffene Komponente zu aktualisieren.
Details
In Zephyr Project Zephyr bis 4.4.1 wurde eine kritische Schwachstelle gefunden. Es geht um die Funktion it82xx2_enable der Datei drivers/usb/udc/udc_it82xx2.c der Komponente USB Device Controller Driver. Dank Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-416. Dies wirkt sich aus auf die Verfügbarkeit. CVE fasst zusammen:
The ITE it82xx2 USB device-controller driver initialized its bus-suspend detection work with k_work_init_delayable(&priv->suspended_work, suspended_handler) inside it82xx2_enable() (the driver's .enable op) in drivers/usb/udc/udc_it82xx2.c. This work item is scheduled essentially continuously while the USB bus is active: the interrupt handler reschedules it on every SOF frame and suspended_handler() reschedules itself, so its timeout node is normally linked in the kernel timeout list / a workqueue pending queue.
k_work_init_delayable() (kernel/work.c) unconditionally overwrites the entire k_work_delayable structure, including its timeout and queue linkage, with no busy check. Because it82xx2_disable() does not cancel the work, a normal disable-then-enable cycle re-runs api->enable() (udc_enable() only rejects a redundant enable, not a re-enable after disable) and re-initializes the still-pending work in place, corrupting the kernel timeout/workqueue linked lists and causing a kernel panic.
An external USB host — for example a host performing USB DFU detach (dfu-util --detach) or forcing repeated attach/reset/re-enumeration — drives the udc_disable()/udc_enable() transitions and controls suspend/resume timing, so it can arrange for the suspend work to be pending across a re-enable. This yields an unauthenticated denial of service (kernel panic) reachable across the USB boundary from a removable, physically-connected host, with no confidentiality or integrity impact demonstrated.
The fix moves the k_work_init_delayable() call into the one-time preinit function so the work is initialized exactly once, eliminating the re-initialization of an in-use item.Auf github.com kann das Advisory eingesehen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 17.07.2026 mit CVE-2026-16148 vorgenommen. Sie gilt als 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.4.2 vermag dieses Problem zu beheben.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Produkt
Typ
Hersteller
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.1VulDB Meta Temp Score: 4.9
VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CNA Base Score: 4.6
CNA Vector (zephyr): 🔒
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: Ja
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: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Zephyr 4.4.2
Timeline
17.07.2026 CVE zugewiesen14.09.2026 Advisory veröffentlicht
14.09.2026 VulDB Eintrag erstellt
14.09.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Advisory: github.comStatus: Bestätigt
CVE: CVE-2026-16148 (🔒)
GCVE (CVE): GCVE-0-2026-16148
GCVE (VulDB): GCVE-100-403690
Eintrag
Erstellt: 14.09.2026 21:52Anpassungen: 14.09.2026 21:52 (67)
Komplett: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.