CVE-2026-43109Linux内核x86架构影子栈模块存在错误处理缺失漏洞。该漏洞源于shstk_pop_sigframe()函数未对mmap_read_lock_killable()的返回值进行检查,且未标记为__must_check。本地低权限攻击者可利用此漏洞导致内核逻辑错误,进而引发系统崩溃或拒绝服务,严重影响系统可用性。
该漏洞位于Linux内核的x86影子栈实现中。函数`shstk_pop_sigframe()`负责从信号帧中弹出影子栈状态,但在调用`mmap_read_lock_killable()`获取内存映射锁时,未检查其返回值。若该调用被信号中断或因其他原因失败,函数本应中止操作,但由于缺少检查,代码继续执行,导致在未持有锁的情况下访问受保护内存区域。此外,相关函数未声明`__must_check`属性,导致编译器无法静态捕获此疏忽。修复方案包括添加返回值检查逻辑及`__must_check`标记,确保在锁获取失败时能正确处理错误,防止内核状态不一致或崩溃。该漏洞允许本地低权限用户触发内核异常。