CVE-2026-80768
Nel kernel Linux, la seguente vulnerabilità è stata risolta: HID: ft260: corretta scrittura stack-use-after-return in race di lettura I2C ft260_i2c_read() punta dev->read_buf a un buffer fornito dal chiamante (spesso una variabile sullo stack), attiva un completion e attende fino a cinque secondi che il dispositivo restituisca i dati. La callback di input HID ft260_raw_event() viene eseguita nel percorso input/IRQ, indipendentemente dal mutex dev->lock trattenuto dal percorso di lettura, e copia il payload fornito dal dispositivo in dev->read_buf dopo un semplice controllo NULL. Questi due percorsi condividono read_buf, read_idx e read_len senza alcuna serializzazione. Se il dispositivo ritarda la sua risposta fino al timeout della lettura, ft260_i2c_read() resetta il controller, cancella read_buf e ritorna, svolgendo lo stack frame in cui risiedeva il buffer. Una risposta che arriva in quel momento permette a ft260_raw_event() di superare il controllo NULL e di eseguire quindi il memcpy() del payload controllato dal dispositivo nella posizione di stack ora liberata, una scrittura stack-use-after-return limitata ma influenzabile dall'attaccante, attivabile da hardware malevolo o malfunzionante. Aggiungere uno spinlock dedicato che serializza ogni accesso a read_buf, read_idx e read_len. ft260_raw_event() ora lo trattiene attraverso il controllo NULL, il memcpy e l'aggiornamento dell'indice, mentre il percorso di lettura lo acquisisce quando attiva e quando cancella il buffer, così che il teardown non possa più scivolare tra il controllo e la copia.
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.
