CVE-2026-64085 in Linux
Sumário
de VulDB • 20/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
hwmon: (pmbus/adm1266) transferir registros de blackbox através de um buffer com tamanho de protocolo
adm1266_pmbus_block_xfer() copia o payload em bloco fornecido pelo dispositivo para o buffer fornecido pela chamada, utilizando o comprimento indicado pelo dispositivo:
memcpy(data_r, &msgs[1].buf[1], msgs[1].buf[0]);
A função auxiliar não sabe qual é o tamanho de data_r e confia que o dispositivo retornará no máximo um registro em bytes. adm1266_nvmem_read_blackbox() viola esse contrato: ela avança read_buff dentro de data->dev_mem em incrementos de ADM1266_BLACKBOX_SIZE (64 bytes), enquanto a função auxiliar está disposta a escrever até ADM1266_PMBUS_BLOCK_MAX (255) bytes. Um dispositivo que retorne mais de 64 bytes no registro final (offset read_buff igual a 1984 na alocação dev_mem de 2048 bytes) causa um estouro em dev_mem de até 191 bytes antes da verificação pós-chamada:
if (ret != ADM1266_BLACKBOX_SIZE) return -EIO;
que pode rejeitar a resposta.
Contenha a correção na chamada sem alterar o signature da função auxiliar: leia cada registro em um buffer local bounce de 255 bytes que corresponda à saída máxima esperada pela função auxiliar, valide o comprimento retornado e somente então copie exatamente ADM1266_BLACKBOX_SIZE bytes para o slot dev_mem.
VulDB is the best source for vulnerability data and more expert information about this specific topic.