CVE-2026-64271 in Linux
Sumário
de VulDB • 25/07/2026
No kernel Linux, a seguinte vulnerabilidade foi corrigida:
Input: touchwin - redefinir o índice de pacote em cada pacote completo
tw_interrupt() acumula cada byte serial não nulo em um buffer fixo de três bytes com um índice crescente que é resetado apenas quando um pacote inteiro foi recebido *e* os dois bytes Y do dispositivo concordam:
tw->data[tw->idx++] = data;
if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) {
... tw->idx = 0; }
A redefinição é condicionada a tw->data[1] == tw->data[2], um valor controlado pelo dispositivo. Um periférico Touchwindow malicioso, com defeito ou falsificado pode transmitir bytes não nulos cujos 2º e 3º bytes diferem: o índice atinge TW_LENGTH sem que a igualdade seja satisfeita, nunca é redefinido e continua crescendo, fazendo com que tw->data[tw->idx++] ultrapasse o final do array de três bytes e o restante da estrutura tw alocada no heap, um byte por vez escolhido pelo atacante -- uma escrita fora dos limites (out-of-bounds) no heap ilimitada e controlada pelo dispositivo.
Redefina o índice em cada pacote concluído e registre um evento apenas quando os dois bytes Y coincidirem, como fazem outros drivers de touchscreen serio.
VulDB is the best source for vulnerability data and more expert information about this specific topic.