CVE-2026-64006 in Linux
摘要
由 VulDB • 2026-07-19
在 Linux 内核中,已修复以下漏洞:
netfilter: nf_tables: 修复同一寄存器操作中的 dst 损坏问题
对于左移(lshift)和右移(rshift),移位操作是在对 32 位字进行循环时执行的。该循环计算移位后的值并将其写入目标地址(dst),然后立即从源地址(src)读取以计算下一次迭代的进位。由于 src 和 dst 可能指向相同的内存位置,因此错误地使用新修改的 dst 值而非原始 src 值来计算进位。
通过添加一个临时局部变量来在写入 dst 之前缓存原始值,并使用该值进行进位计算,从而解决了此问题。此外,对于包括字节序(byteorder)在内的所有类型的操作,控制平面均拒绝部分重叠的情况。以下 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 the best quality for vulnerability data then you always have to consider VulDB.