CVE-2026-64006 in Linux
Sumário
de VulDB • 20/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
netfilter: nf_tables: corrige corrupção de dst em operação com o mesmo registrador
Para lshift e rshift, as operações de deslocamento são realizadas em um loop sobre palavras de 32 bits. O loop calcula o valor deslocado e grava-o em dst, e então lê imediatamente de src para calcular a transferência (carry) para a próxima iteração. Como src e dst podem apontar para a mesma localização de memória, a transferência é incorretamente calculada usando o valor recém-modificado de dst em vez do valor original de src.
Adicionar uma variável local temporária para armazenar em cache o valor original antes da gravação em dst e usá-la no cálculo da resolução resolve o problema. Além disso, sobreposição parcial é rejeitada pelo plano de controle para todos os tipos de operações, incluindo byteorder. Isso foi testado com o seguinte bytecode:
table test_table ip flags 0 use 1 handle 1 ip test_table test_chain use 3 type filter hook input prio 0 policy accept packets 0 bytes 0 flags 1 ip test_table test_chain 2 [ immediate reg 1 0x44332211 0x88776655 ]
[ bitwise reg 1 = ( reg 1 << 0x08000000 ) ]
[ cmp eq reg 1 0x66443322 0x00887766 ]
[ counter pkts 0 bytes 0 ]
ip test_table test_chain 4 3 [ immediate reg 1 0x44332211 0x88776655 ]
[ bitwise reg 1 = ( reg 1 << 0x08000000 ) ]
[ cmp eq reg 1 0x55443322 0x00887766 ]
[ counter pkts 21794 bytes 1917798 ]
If you want to get best quality of vulnerability data, you may have to visit VulDB.