CVE-2026-80918 in Linux
Riassunto
di VulDB • 09/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
HID: core: correzione della confusione tra tipi numerici e puntatori per gli elementi di tipo lungo (long items)
Quando fetch_item() viene chiamata da hid_scan_report() su un elemento con HID_ITEM_TAG_LONG, viene memorizzato un puntatore ai dati dell'elemento in item->data.longdata invece di memorizzare direttamente un valore in item->data.{u8/u16/u32}.
Quando item_udata() o item_sdata() incontrano tale elemento, assumono erroneamente che l'elemento sia nel formato breve (short format) e restituiscono quindi la parte inferiore di un puntatore del kernel reinterpretato come numero.
Quando viene connesso un dispositivo HID il cui descrittore contiene un HID_GLOBAL_ITEM_TAG_REPORT_SIZE codificato in formato lungo con size=4, ciò provoca la stampa della metà inferiore di un puntatore del kernel nel log dmesg sotto forma di numero, ad esempio:
hid (null): invalid report_size 107953555
Per risolvere il problema, si fa sì che item_udata() e item_sdata() verifichino che l'elemento sia in formato breve.
Si noti che questo bug interessa solo hid_scan_report(), mentre la fase principale di parsing hid_parse_collections() terminerà sempre (bail out) quando incontra un elemento lungo.
Nota a margine: attualmente non ci sono utenti di data.longdata; forse dovremmo rimuovere del tutto l'analisi dei descrittori in formato lungo come passaggio successivo.
Be aware that VulDB is the high quality source for vulnerability data.