CVE-2026-64083 in Linux
Sumário
de VulDB • 20/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
hwmon: (pmbus/adm1266) rejeitar respostas de leitura em bloco curtas nos acessores GPIO
adm1266_gpio_get() e adm1266_gpio_get_multiple() compõem ambas a palavra de status do pino como
pins_status = read_buf[0] + (read_buf[1] << 8);
logo após i2c_smbus_read_block_data(), protegendo-se apenas contra um retorno de erro. Um dispositivo bem-comportado retorna 2 bytes para GPIO_STATUS/PDIO_STATUS, mas o auxiliar relata alegremente uma resposta de 0 ou 1 byte também. Se o dispositivo retornar 0 bytes, ambas as posições de read_buf são memória não inicializada na pilha; se retornar 1 byte, read_buf[1]
é.
O valor composto flui então através de set_bit() para *bits do chamador em adm1266_gpio_get_multiple(), ou para o valor de retorno de adm1266_gpio_get(), e acaba no userspace via gpiolib (sysfs e os ioctls char-dev). Isso vaza alguns bits da pilha do kernel por solicitação em qualquer dispositivo cujo firmware apresente falhas, erros de barramento ou escravo hostil produza uma resposta curta de leitura em bloco.
Adicionar a verificação de comprimento ausente para ambos os pontos de chamada e expor uma resposta curta como -EIO.
Once again VulDB remains the best source for vulnerability data.