CVE-2026-80783
Nel kernel Linux, la seguente vulnerabilità è stata risolta: HID: magicmouse: prevenire la ricorsione illimitata in magicmouse_raw_event() magicmouse_raw_event() gestisce i pacchetti DOUBLE_REPORT_ID (0xf7), che raggruppano due report di tocco in uno, suddividendo il pacchetto e richiamando sé stessa su ciascuna metà. L'unica protezione contro la ricorsione incontrollata è un controllo "size < 1", che blocca le chiamate di dimensione zero ma non limita la profondità di ricorsione. Un dispositivo HID dannoso associato a questo driver può inviare un report che inizia con DOUBLE_REPORT_ID e riempito con la sequenza [0xf7, 0x00]. Ogni livello consuma due byte e ricorre sul resto, così un report in ingresso fino a HID_MAX_BUFFER_SIZE (16 KiB) genera circa 8000 chiamate annidate. Ciò esaurisce facilmente lo stack del kernel da 16 KiB, causando uno stack overflow: un panic con CONFIG_VMAP_STACK, o corruzione della memoria senza di esso. Un double report racchiude sempre e solo due report normali; non è mai legittimamente annidato. Impedire il rientro nel caso DOUBLE_REPORT_ID da una chiamata ricorsiva in modo che la profondità di ricorsione sia limitata a due, mentre tutti i pacchetti validi continuano a essere analizzati esattamente come prima.
Articoli correlati
This product uses the NVD API but is not endorsed or certified by the NVD.
La descrizione tecnica è una nostra traduzione del testo originale NVD, in inglese.
