CVE-2026-31568Linux内核在s390架构的内存管理组件中发现一处高危漏洞,涉及安全存储访问的修复逻辑缺失。在处理捐赠给Ultravisor的内存页面时,由于内核未正确处理这些缺少`PG_arch_1`标记的页面,导致在发生安全存储访问异常时陷入无限循环。本地低权限攻击者可利用此缺陷触发系统异常处理死锁,导致系统挂起或彻底崩溃,造成拒绝服务。该漏洞主要影响运行在IBM Z硬件平台上的Linux系统。
该漏洞位于Linux内核的`s390/mm`代码路径中,根源在于对捐赠给Ultravisor的内存处理逻辑不完善。在s390的受保护虚拟化场景下,内核通过`PG_arch_1`位跟踪页面状态。对于捐赠内存,该位未设置。当内核上下文访问这些内存并触发安全存储访问异常时,现有逻辑调用`arch_make_folio_accessible()`。该函数发现`PG_arch_1`位缺失,误判页面已导出而直接返回,未执行必要的修复操作。这导致异常不断重复,形成无法中断的循环,使CPU资源耗尽或系统死锁。修复方案改为无条件尝试导出并在失败时进行修复。