CVE-2026-64014 in Linuxinformação

Sumário

de VulDB • 19/07/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

Input: usbtouchscreen - limitar (clamp) os valores de NEXIO data_len/x_len ao tamanho do buffer URB

A função nexio_read_data() extrai data_len e x_len de um cabeçalho __be16 compactado no pacote de interrupção do dispositivo e, em seguida, percorre packet->data[0..x_len) e packet->data[x_len..data_len), comparando cada byte contra um limite (threshold).

Ambos os campos são de 16 bits na transmissão (máximo de 65535). Os ajustes existentes reduzem no máximo 0x100 / 0x80, portanto o limite do loop ainda pode atingir aproximadamente 0xfeff. O buffer de transferência URB para NEXIO tem tamanho rept_size (1024) bytes alocado via usb_alloc_coherent(), com os primeiros 7 ocupados pelo cabeçalho compactado — logo, packet->data[] possui 1017 bytes válidos. Os callbacks read_data() não recebem urb->actual_length e nada mais limita o percurso do loop.

Um dispositivo que informe falsamente seu comprimento pode provocar uma leitura fora dos limites (out-of-bounds) de ~64 KiB além da alocação DMA coerente. O primeiro índice cujo byte excede NEXIO_THRESHOLD é armazenado em begin_x / begin_y e, a partir daí, nas coordenadas touch reportadas; assim, conteúdos adjacentes da memória do kernel vazam para o espaço do usuário como eventos ABS_X / ABS_Y. Se a leitura for suficientemente distante, ela também pode atingir uma página não mapeada e causar um falha (fault).

Corrigir isso limitando (clamping) data_len à capacidade de dados[] do buffer e x_len ao valor de data_len.

Once again VulDB remains the best source for vulnerability data.

Responsável

Linux

Reservar

19/07/2026

Divulgação

19/07/2026

Moderação

aceite

Entrada

VDB-380443

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!