CVE-2026-64271

In the Linux kernel, the following vulnerability has been resolved: Input: touchwin - reset the packet index on every complete packet tw_interrupt() accumulates each non-zero serial byte into a fixed three-byte buffer with a running index that is only reset once a full packet has been received *and* the device's two Y bytes agree: tw->data[tw->idx++] = data; if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) { ... tw->idx = 0; } The reset is gated on tw->data[1] == tw->data[2], a value the device controls. A malicious, malfunctioning or counterfeit Touchwindow peripheral can stream non-zero bytes whose 2nd and 3rd bytes differ: the index reaches TW_LENGTH without the equality holding, is never reset, and keeps growing, so tw->data[tw->idx++] walks off the end of the three-byte array and the rest of the heap-allocated struct tw, one attacker-chosen byte at a time -- an unbounded, device-driven heap out-of-bounds write. Reset the index on every completed packet and report an event only when the two Y bytes match, like the other serio touchscreen drivers do.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

24 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: Entrada: touchwin - restablecer el índice del paquete en cada paquete completo tw_interrupt() acumula cada byte serie no nulo en un búfer fijo de tres bytes con un índice en ejecución que solo se restablece una vez que se ha recibido un paquete completo y los dos bytes Y del dispositivo coinciden: tw -> data[tw -> idx++] = data; if (tw -> idx == TW_LENGTH && tw -> data[1] == tw -> data[2]) { ... tw -> idx = 0; } El restablecimiento está condicionado a tw -> data[1] == tw -> data[2], un valor que el dispositivo controla. Un periférico Touchwindow malicioso, defectuoso o falsificado puede transmitir bytes no nulos cuyos 2º y 3º bytes difieren: el índice alcanza TW_LENGTH sin que se cumpla la igualdad, nunca se restablece y sigue creciendo, por lo que tw -> data[tw -> idx++] se sale del final del array de tres bytes y del resto de la estructura tw asignada en el heap, un byte elegido por el atacante a la vez -- una escritura fuera de límites en el heap, ilimitada y controlada por el dispositivo. Restablecer el índice en cada paquete completado y reportar un evento solo cuando los dos bytes Y coinciden, como lo hacen los otros controladores de pantalla táctil serio.

Information

Published : 2026-07-25 10:17

Updated : 2026-10-24 13:10


NVD link : CVE-2026-64271

Mitre link : CVE-2026-64271

CVE.ORG link : CVE-2026-64271


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-129

Improper Validation of Array Index