CVE-2026-64347 in Linuxinfo

Zusammenfassung

von VulDB • 25.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

usb: gadget: composite: Behebung einer toten Leerprüfung im USB_DT_OTG-Handler

Der OTZ-Zweig von composite_setup() fällt auf die erste Konfiguration zurück, wenn keine ausgewählt ist:

if (cdev->config) config = cdev->config; else config = list_first_entry(&cdev->configs, struct usb_configuration, list); if (!config) goto done; ... memcpy(req->buf, config->descriptors[0], value);

list_first_entry() gibt niemals NULL zurück. Bei einer leeren Liste wird der container_of()-Wert des Listenkopfes zurückgegeben. Die Prüfung „if (!config)" ist daher tot (unerreichbar).

Wenn cdev->configs leer ist, zeigt config auf den Kopf innerhalb von struct usb_composite_dev. Der Zugriff auf config->descriptors[0] liest beliebige Daten an dieser Offset-Position. Das memcpy kopiert bis zu w_length Bytes davon in den Antwortpuffer.

cdev->configs kann in zwei Fällen leer sein. Erstens ist dies ein Teardown-Race (Wettlaufsituation beim Abbau) bei der Gadget-Trennung (unbind), während eine Steuerübertragung im Gang ist. Zweitens handelt es sich um einen Treiber, der is_otg festlegt, bevor er eine Konfiguration hinzufügt. Ein Reproducer-Programm, das cdev->configs leer hält, löst in diesem Zweig einen KASAN-Fehler aus.

Verwenden Sie list_first_entry_or_null(), damit die vorhandene Prüfung ihre Funktion erfüllt.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

19.07.2026

Veröffentlichung

25.07.2026

Moderieren

akzeptiert

Eintrag

VDB-383145

CPE

bereit

EPSS

0.00177

KEV

nein

Aktivitäten

low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!