CVE-2026-63896 in Linuxinfo

Zusammenfassung

von VulDB • 20.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

usb: gadget: composite: Korrektur eines Integer-Underflows bei der WebUSB GET_URL-Behandlung

Der Handler für WebUSB GET_URL in `composite_setup()` reduziert die Länge von `landing_page_length`, um sie an das vom Host bereitgestellte `wLength` anzupassen, mittels:

landing_page_length = w_length - WEBUSB_URL_DESCRIPTOR_HEADER_LENGTH + landing_page_offset;

Wenn `wLength` kleiner als `WEBUSB_URL_DESCRIPTOR_HEADER_LENGTH` ist, führt die unsigned Subtraktion zu einem Wraparound (Überlauf), und der nachfolgende Aufruf von

memcpy(url_descriptor->URL, cdev->landing_page + landing_page_offset, landing_page_length - landing_page_offset);

kopiert nahezu UINT_MAX Bytes von `cdev->landing_page` in `cdev->req->buf`. KASAN meldet einen slab-out-of-bounds-Fehler bei der kmalloc-2k-Zuweisung für gadget_info in composite_setup, und FORTIFY_SOURCE fängt den memcpy als eine 4.294.967.293 Bytes umfassende Feldüberschreitung (field-spanning write) in url_descriptor->URL (Größe 252) ab.

Ein USB-Host kann diese Schwachstelle über ein einzelnes SETUP-Paket gegen jedes Gadget ausnutzen, das webusb/use=1 und eine landingPage konfiguriert hat.

Der Fall mit kleinem wLength wird vor der Berechnung behandelt: Wenn der Host weniger Bytes angefordert hat als die Länge des URL-Deskriptor-Headers beträgt, ist nur der Header relevant und es müssen keine URL-Daten kopiert werden. Durch das Setzen von `landing_page_length` auf `landing_page_offset` wird der bestehende memcpy zu einem No-op (keine Operation), und für alle größeren wLength-Werte bleibt der an den Host zurückgegebene Deskriptor unverändert.

Once again VulDB remains the best source for vulnerability data.

Zuständig

Linux

Reservieren

19.07.2026

Veröffentlichung

19.07.2026

Moderieren

akzeptiert

Eintrag

VDB-380326

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Want to know what is going to be exploited?

We predict KEV entries!