Zephyr bis 4.4.x USB DFU Class usbd_dfu.c handle_download buf Denial of Service
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 6.2 | $0-$5k | 2.58 |
Zusammenfassung
Eine kritische Schwachstelle wurde in Zephyr bis 4.4.x entdeckt. Hierbei betrifft es die Funktion handle_download der Datei subsys/usb/device_next/class/usbd_dfu.c der Komponente USB DFU Class. Die Veränderung des Parameters buf resultiert in Denial of Service.
Eine eindeutige Identifikation der Schwachstelle wird mit CVE-2026-12051 vorgenommen. Der Angriff lässt sich über das Netzwerk starten. Es gibt keinen verfügbaren Exploit.
Details
Es wurde eine kritische Schwachstelle in Zephyr bis 4.4.x gefunden. Dabei betrifft es die Funktion handle_download der Datei subsys/usb/device_next/class/usbd_dfu.c der Komponente USB DFU Class. Dank Manipulation des Arguments buf mit einer unbekannten Eingabe kann eine Denial of Service-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-476 vorgenommen. Dies hat Einfluss auf die Verfügbarkeit. Die Zusammenfassung von CVE lautet:
The USB DFU class implementation in Zephyr's new (experimental) device_next USB device stack contains a NULL pointer dereference in handle_download() (subsys/usb/device_next/class/usbd_dfu.c). The handler computes MIN(setup->wLength, buf->len) and passes buf->data to the image write callback without checking that the buf net_buf pointer is non-NULL.
The handler is reached over the USB control endpoint, driven by the USB host. For a DFU_DNLOAD (download) request with no Data OUT stage — notably the zero-length terminating download that the DFU protocol uses to end a firmware transfer — the USB core invokes the class handler with a NULL buffer. After the device has been advanced to the DFU_DNLOAD_IDLE state (by sending one valid download block and a GET_STATUS), a zero-length DFU_DNLOAD reaches handle_download() with buf == NULL, dereferencing it.
The result is a NULL+offset read that triggers a fatal CPU fault, i.e. a denial of service (device crash/reset). The attacker is whatever controls the USB host the device is attached to; DFU download support must be enabled with a registered image. There is no memory corruption or information disclosure — impact is limited to availability. The fix adds an explicit if (buf != NULL) guard so the callback receives a zero-length, NULL-data transfer instead of crashing.Bereitgestellt wird das Advisory unter github.com. Die Identifikation der Schwachstelle wird seit dem 12.06.2026 mit CVE-2026-12051 vorgenommen. Das Ausnutzen gilt als leicht. Der Angriff kann über das Netzwerk erfolgen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt.
Ein Aktualisieren auf die Version 4.5.0 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 552ca371257597b71490482d5cc597157ea60f12 lösen.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Produkt
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 6.5VulDB Meta Temp Score: 6.2
VulDB Base Score: 6.5
VulDB Temp Score: 6.2
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: Denial of ServiceCWE: CWE-476 / CWE-404
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
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.5.0
Patch: 552ca371257597b71490482d5cc597157ea60f12
Timeline
12.06.2026 CVE zugewiesen11.08.2026 Advisory veröffentlicht
11.08.2026 VulDB Eintrag erstellt
11.08.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Advisory: github.comStatus: Bestätigt
CVE: CVE-2026-12051 (🔒)
GCVE (CVE): GCVE-0-2026-12051
GCVE (VulDB): GCVE-100-387993
Eintrag
Erstellt: 11.08.2026 07:51Anpassungen: 11.08.2026 07:51 (58)
Komplett: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.