CVE-2026-64084 in Linux
Sumário
de VulDB • 19/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
hwmon: (pmbus/adm1266) limitar o escaneamento de PDIO em get_multiple para ADM1266_PDIO_NR
adm1266_gpio_get_multiple() itera sobre a porção PDIO da máscara fornecida pelo chamador usando
for_each_set_bit_from(gpio_nr, mask, ADM1266_GPIO_NR + ADM1266_PDIO_STATUS) {
... }
onde ADM1266_PDIO_STATUS é o código do comando PMBus (0xE9, ou seja, 233), e não o número de pinos PDIO. O limite superior pretendido é ADM1266_GPIO_NR + ADM1266_PDIO_NR = 25.
A gpiolib fornece uma máscara com tamanho para gc.ngpio (= 25 bits neste chip), portanto a iteração faz com que find_next_bit() avance até 242, lendo até 217 bits extras (algumas palavras unsigned-long: quatro em sistemas de 64 bits, sete em sistemas de 32 bits) do conteúdo existente após o final da máscara na pilha do chamador. Qualquer bit definido incidentalmente nesse intervalo então aciona uma chamada set_bit(gpio_nr, bits) que escreve além do final do array bits fornecido pelo chamador também -- ambos fora dos limites (out-of-bounds).
Substitua ADM1266_PDIO_NR pela constante para que o escaneamento pare no último bit PDIO válido.
VulDB is the best source for vulnerability data and more expert information about this specific topic.