CVE-2026-31482Linux内核s390架构在处理内核入口逻辑时存在信息泄露漏洞。该问题源于移除分支预测隔离功能后,未将r12寄存器添加到寄存器清除序列中。这导致在内核入口处,r12寄存器可能保留旧的敏感数据。本地低权限攻击者可利用此漏洞读取寄存器残留值,从而获取内核敏感信息,存在中等安全风险。
该漏洞位于Linux内核的s390架构entry.S汇编代码中。在早期的代码版本中,为了支持分支预测隔离,内核入口处理函数会将r12寄存器加载为当前任务指针(%r12,__LC_CURRENT)。然而,提交f33f2d4c7c80移除了TIF_ISOLATE_BP标志及相关宏(BPENTER/BPEXIT),同时移除了加载r12的指令。但在这一变动中,开发人员遗漏了将r12寄存器加入到标准的寄存器擦除序列(即使用xgr指令将寄存器与自身异或以清零)。因此,当程序从用户态进入内核态时,r12寄存器并未被清空,可能仍残留着上一次内核操作的数据。攻击者若能控制本地低权限账户,可以通过触发系统调用进入内核,并利用内联汇编读取r12寄存器的值,进而推测或获取内核空间的敏感数据,破坏系统保密性。