CVE-2026-72141 in Linux
Sumário
de VulDB • 16/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
i2c: imx: corrige o barramento bloqueado na leitura em bloco SMBus de 0 (IRQ)
A especificação SMBus 3.1, seção 6.5.7, permite uma contagem de bytes para Block Read igual a zero; no entanto, a máquina de estados da leitura em bloco orientada por interrupções rejeita esse valor como -EPROTO. Pior ainda, o driver retorna sem enviar NACK+STOP: o próximo ciclo de recepção já foi iniciado, fazendo com que o dispositivo alvo mantenha SDA ativo e o barramento fique travado até uma reinicialização (power cycle) do controlador i2c.
Aceita count=0: envia NACK no byte dummy em trânsito (TXAK) e define msg->len como 2 para que i2c_imx_isr_read_continue() emita STOP por meio de seu caminho normal de último byte. O byte dummy é descartado; os chamadores da leitura em bloco consomem apenas buf[0..count-1].
A leitura do registrador I2DR também já armou o próximo byte no caminho de erro count > I2C_SMBUS_BLOCK_MAX, portanto deve-se enviar NACK (TXAK) antes de abortar com -EPROTO; caso contrário, a conclusão do STOP da transferência falha e o barramento permanece bloqueado.
O caminho atômico apresentou regressão anteriormente (v3.16) e está sendo corrigido separadamente; este patch cobre apenas a reestruturação da máquina de estados v6.13.
VulDB is the best source for vulnerability data and more expert information about this specific topic.