CVE-2026-64274 in Linuxinformação

Sumário

de VulDB • 25/07/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

Input: goodix - limitar (clamp) o número de contatos relatado pelo dispositivo

A função `goodix_ts_read_input_report()` copia para um buffer na pilha (on-stack buffer) o número de pontos de toque reportados pelo dispositivo:

```c u8 point_data[2 + GOODIX_MAX_CONTACT_SIZE * GOODIX_MAX_CONTACTS];
```

que tem tamanho suficiente para no máximo `GOODIX_MAX_CONTACTS` (10) contatos. A única verificação em tempo de execução limita o número de contatos por interrupção contra `ts->max_touch_num`, mas esse valor é obtido literalmente a partir de um campo de 4 bits do bloco de configuração do dispositivo e nunca é limitado:

```c ts->max_touch_num = ts->config[MAX_CONTACTS_LOC] & 0x0f;
```

O nibble pode variar entre 0 e 15, portanto, um controlador com defeito, malicioso ou falsificado (ou um atacante manipulando o barramento I2C) pode anunciar até 15 contatos. A função `goodix_ts_read_input_report()` então aceita um `touch_num` de até 15, e a segunda chamada a `goodix_i2c_read()` escreve `ts->contact_size * (touch_num - 1)` bytes após o cabeçalho do primeiro contato em `point_data`, ou seja, até 30 bytes (45 com o formato de relatório de 9 bytes) além do buffer de 92 bytes: uma escrita fora dos limites da pilha (stack out-of-bounds write).

Limite (`clamp`) `max_touch_num` a `GOODIX_MAX_CONTACTS`, que é o número de contatos para os quais `point_data[]` foi dimensionado, ao lê-lo da configuração.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

19/07/2026

Divulgação

25/07/2026

Moderação

aceite

Entrada

VDB-383064

CPE

pronto

EPSS

0.00211

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!