CVE-2026-23316Linux内核在ARM64架构下存在内存对齐错误漏洞。当使用Clang并开启LTO编译时,IPv4多路径哈希种子处理中的`READ_ONCE()`宏会触发非自然对齐的64位加载指令,导致内核恐慌(Kernel Panic)。本地低权限攻击者可利用此漏洞造成系统崩溃。
该漏洞源于Linux内核网络协议栈中`fib_multipath_hash_from_keys`函数的实现缺陷。结构体`sysctl_fib_multipath_hash_seed`包含两个u32字段,仅保证4字节对齐。代码中使用`READ_ONCE()`读取整个8字节结构体,在Clang开启LTO优化时,编译器会将其转换为64位的`ldar`(Load-Acquire)指令。由于ARM64架构严格要求`ldar`指令的地址必须8字节自然对齐,而在4字节对齐的结构体上执行该指令会触发Alignment Fault(异常代码0x21),导致内核恐慌。此外,写入操作也存在非原子性的撕裂写入问题。本地低权限用户可通过读取`/proc/sys/net/ipv4/fib_multipath_hash_seed`触发崩溃,造成拒绝服务攻击。