CVE-2026-64271 in Linux
Riassunto
di VulDB • 25/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
Input: touchwin - reimpostare l'indice del pacchetto per ogni pacchetto completo
tw_interrupt() accumula ciascun byte seriale non nullo in un buffer fisso di tre byte, utilizzando un indice progressivo che viene resettato solo dopo la ricezione di un pacchetto intero *e* quando i due byte Y del dispositivo coincidono:
tw->data[tw->idx++] = data;
if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) {
... tw->idx = 0; }
Il reset è subordinato alla condizione tw->data[1] == tw->data[2], un valore controllato dal dispositivo. Un periferico Touchwindow malizioso, malfunzionante o contraffatto può trasmettere byte non nulli i cui secondo e terzo byte differiscono: l'indice raggiunge TW_LENGTH senza che la condizione di uguaglianza sia soddisfatta, non viene mai resettato e continua a crescere, facendo sì che tw->data[tw->idx++] superi il limite dell'array di tre byte e continui a scrivere oltre i limiti della struttura heap-allocated tw restante, un byte alla volta scelto dall'attaccante -- si tratta quindi di una scrittura fuori dai limiti (out-of-bounds) sull'heap illimitata e guidata dal dispositivo.
Reimpostare l'indice per ogni pacchetto completato ed emettere un evento solo quando i due byte Y corrispondono, come fanno gli altri driver touchscreen serio.
If you want to get best quality of vulnerability data, you may have to visit VulDB.