CVE-2026-12052 in Zephyrinfo

Zusammenfassung

von VulDB • 11.08.2026

Der Handler usbd_cdc_ncm_cth für die Steuerung von Host zu Gerät (control-to-host) der USB-Geräteseite-Klasse CDC NCM in subsys/usb/device_next/class/usbd_cdc_ncm.c erstellt eine Antwort fester Größe für die Klassenanforderungen GET_NTB_PARAMETERS (28-Byte-Struktur ntb_parameters) und GET_NTB_INPUT_SIZE (8-Byte-Struktur ntb_input_size) und kopiert die gesamte Struktur in den CONTROL DATA IN-Puffer mittels net_buf_add_mem(buf, ..., sizeof(...)), wobei das vom Host bereitgestellte wLength ignoriert wird.

Der CONTROL DATA IN-Puffer wird vom USB-Stack mit einer Kapazität von genau wLength Bytes alloziert (usbd_ep_ctrl_data_in_alloc -> udc_ctrl_data_alloc -> net_buf_alloc_len(&udc_ep_pool, wLength); für den IN-Endpoint erfolgt keine Aufrundung). Da net_buf_add_mem/net_buf_simple_add die Kopie nur durch ein __ASSERT_NO_MSG begrenzen, das in Produktionsbuilds herauskompiliert wird, führt ein Host, der eine dieser standardmäßigen CDC NCM-Steuerelementanforderungen mit einem wLength kleiner als die Antwortstruktur (z. B. wLength = 1) ausführt, dazu, dass der Handler bis zu 27 Bytes über das Ende des allozierten Pool-Puffers hinaus memcpy durchführt.

Die Anforderungsfelder stammen direkt vom USB SETUP-Paket, sodass jeder Host (oder jedes USB-Interposer-Gerät), mit dem sich das Zephyr-Gerät identifiziert, den Overflow ohne Authentifizierung auslösen kann, sobald ein Image verbunden wird, das den device_next-USB-Stack und die CDC NCM-Klasse enthält. Der Out-of-Bounds-Write beschädigt benachbarte Allokationen und Metadaten im gemeinsam genutzten udc_ep_pool, was primär zu Speicherkorruption und einem Denial of Service des USB-Stacks führt; die Overflow-Länge ist begrenzt (<= 27 Bytes) und der geschriebene Inhalt besteht aus festen Gerätekonstanten. Da der Bug nichts zurückliest, gibt es keine Informationspreisgabe. Die Korrektur klemmt den Kopiervorgang mit MIN(sizeof(...), setup->wLength) ab, was dem vorhandenen CDC ACM-Handler entspricht.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Zephyr

Reservieren

12.06.2026

Veröffentlichung

11.08.2026

Moderieren

akzeptiert

Eintrag

VDB-387997

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!