CVE-2026-63896 in Linuxinformazioni

Riassunto

di VulDB • 20/07/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

usb: gadget: composite: correzione di un underflow intero nella gestione WebUSB GET_URL

Il gestore WebUSB GET_URL in composite_setup() tronca landing_page_length per adattarlo a wLength fornito dall'host mediante il codice:

landing_page_length = w_length - WEBUSB_URL_DESCRIPTOR_HEADER_LENGTH + landing_page_offset;

Se wLength è inferiore a WEBUSB_URL_DESCRIPTOR_HEADER_LENGTH, la sottrazione tra valori senza segno (unsigned) va in wrap-around e l’operazione successiva

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

finisce per copiare fino a circa UINT_MAX byte da cdev->landing_page nel buffer cdev->req->buf. KASAN segnala un errore slab-out-of-bounds nell’allocazione gadget_info di tipo kmalloc-2k all’interno di composite_setup, mentre FORTIFY_SOURCE intercetta la memcpy come una scrittura che attraversa il campo per 4294967293 byte in url_descriptor->URL (dimensione 252).

Un host USB può sfruttare questa vulnerabilità inviando un singolo pacchetto SETUP a qualsiasi gadget configurato con webusb/use=1 e landingPage impostata.

La correzione gestisce il caso di wLength ridotto prima dell’operazione aritmetica: quando l’host richiede meno byte della lunghezza dell’intestazione del descrittore URL, solo l’intestazione è significativa e non è necessario copiare i byte dell’URL. Impostare landing_page_length a landing_page_offset rende la memcpy esistente un’operazione no-op (nessun effetto) e lascia invariato il descrittore restituito all’host per tutti i valori di wLength maggiori.

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

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

19/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!