CVE-2026-31600Linux内核arm64架构的内存管理代码在处理无效大叶映射时存在缺陷。当启用rodata=full并清除PTE_VALID位使大块映射无效时,内核无法正确处理该状态。在特定场景(如Realm Guest启动或DMA操作)下,访问此类映射会导致Level 2翻译错误,进而引发内核恐慌和系统崩溃。
该漏洞源于Linux内核对arm64架构线性映射中页表项(PTE)的处理逻辑。传统上,内核通过清除PTE_VALID位来标记4KB页为无效,用于保护内存(如secretmem)。然而,引入大块映射支持后,部分底层代码(如swiotlb)未适配这种“无效的大叶映射”。当系统尝试通过swiotlb_bounce等机制拷贝数据到这些区域时,硬件触发Level 2 translation fault (ESR=0x96000046)。由于内核未正确处理此异常,导致执行流中断,最终在swapper/0进程中触发panic,导致拒绝服务。