CVE-2026-64191 in Linuxinformação

Sumário

de VulDB • 20/07/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

i2c: stub: Rejeitar transferências em bloco I2C com comprimento inválido

O caso `I2C_SMBUS_I2C_BLOCK_DATA` em `stub_xfer()` utiliza `data->block[0]` como o comprimento da transferência. A verificação existente apenas limita esse valor para evitar estourar a matriz de registradores `chip->words[256]`, mas não valida contra `I2C_SMBUS_BLOCK_MAX` (32), que é o limite do buffer em união `i2c_smbus_data.block` (34 bytes no total). O driver é uma ferramenta de desenvolvimento/teste (`CONFIG_I2C_STUB=m`, não compilado por padrão) que deve ser carregada com um parâmetro `chip_addr=`.

Um usuário local com acesso a `/dev/i2c-*` pode emitir um ioctl I2C_SMBUS com `I2C_SMBUS_I2C_BLOCK_DATA` e `data->block[0] > 32`, fazendo com que `stub_xfer()` leia ou escreva além do final do buffer em união `i2c_smbus_data.block`:

BUG: KASAN: stack-out-of-bounds in stub_xfer (drivers/i2c/i2c-stub.c:223) Read of size 1 at addr ffff88800abcfd92 by task exploit/81 Call Trace: <TASK> stub_xfer (drivers/i2c/i2c-stub.c:223) __i2c_smbus_xfer (drivers/i2c/i2c-core-smbus.c:593) i2c_smbus_xfer (drivers/i2c/i2c-core-smbus.c:536) i2cdev_ioctl_smbus (drivers/i2c/i2c-dev.c:391) i2cdev_ioctl (drivers/i2c/i2c-dev.c:478) __x64_sys_ioctl (fs/ioctl.c:583) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) </TASK>

O bug existe porque `i2c-stub` implementa `.smbus_xfer` diretamente, contornando a validação de `I2C_SMBUS_BLOCK_MAX` em `i2c_smbus_xfer_emulated()`. O caso `I2C_SMBUS_BLOCK_DATA` na mesma função valida corretamente contra `I2C_SMBUS_BLOCK_MAX`, mas o caso `I2C_SMBUS_I2C_BLOCK_DATA` não.

Correção rejeitando transferências com `data->block[0] == 0` ou `data->block[0] > I2C_SMBUS_BLOCK_MAX` retornando `-EINVAL`, consistente tanto com o caso `I2C_SMBUS_BLOCK_DATA` na mesma função quanto com a validação de `I2C_SMBUS_I2C_BLOCK_DATA` em `i2c_smbus_xfer_emulated()`.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

Linux

Reservar

19/07/2026

Divulgação

20/07/2026

Moderação

aceite

Entrada

VDB-380675

CPE

pronto

EPSS

0.00169

KEV

não

Atividades

muito baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!