复制失败漏洞允许在 Linux 发行版上升级至 root

Linux e teclado

Linux e teclado - FAMArtPhotography/shutterstock.com

Linux 内核加密子系统中的逻辑缺陷允许非特权本地用户将其权限提升到根级别。主要发行版的开发人员已经开始分发补丁来纠正 CVE-2026-31431(称为“复制失败”)。

问题出在认证加密操作中使用的authenticationsn 模板中。它使得将四个受控字节写入任何可读文件的页面缓存成为可能。此更改直接影响内核对二进制文件的加载。

身份验证失败的技术细节

该错误源自 2017 年 algif_aad 模块中实施的更改。此更改允许页面缓存页面可用于在某些分散列表场景中写入。与其他经典漏洞不同,复制失败不需要竞争条件即可发挥作用。

Theori 的研究人员在基于人工智能的扫描工具的支持下发现了这个问题。概念证明是一个只有 10 行和 732 字节的 Python 脚本。它修改 setuid 二进制文件,并在 2017 年以来发布的大多数发行版上以提升的权限运行代码。

  • CVE-2026-31431 的得分为 7.8/10,被归类为高严重性
  • 该漏洞适用于多租户环境和具有共享内核的容器
  • 主机上的共享页面缓存可能导致 Kubernetes 容器泄漏
  • 无法单独远程利用,但可以放大其他向量

该漏洞会更改内存中的二进制文件,而不会触发文件系统基于事件的检测机制(例如inotify)。这使得实时检测变得更加复杂。

https://twitter.com/DarkWebInformer/status/2049579219190165658?ref_src=twsrc%5Etfw

对生产环境和容器的影响

运行不受信任代码的系统(例如 CI/CD 运行程序或共享服务器)更容易暴露。主机级别的共享页面缓存在容器化环境中带来了具体的逃逸风险。

Debian、Ubuntu 和 SUSE 等发行版已经提供了更新的内核。红帽改变了最初的延迟立场,现在提供与生态系统同步的补丁。包括 Fedora 在内的其他供应商也确认了该修复。

管理多个租户或第三方工作负载的管理员应优先考虑升级。经过协调披露后,该漏洞迅速获得关注。

在应用完整补丁之前如何缓解

临时措施是禁用 algif_aad 模块。这可以防止在大多数情况下加载易受攻击的组件。

  • 创建文件 /etc/modprobe.d/disable-algif.conf,其内容为: install algif_aead /bin/false
  • 运行 rmmod algif_aead 以删除已加载的模块

此设置可能会影响明确依赖加密模块的应用程序。建议在生产中应用之前在临时环境中进行测试。官方更新仍然是最终的解决方案。

发行版发布的更新

补丁的推出以主要维护者之间协调的方式进行。 Debian 和 Ubuntu 已经发布了新内核,并需要恢复到 algif_aead 就地行为。 SUSE 紧随其后,更新了软件包。

红帽在内部审查后调整了其指导方针。 Linux 社区遵循讨论列表和技术论坛上的流程。许多管理员已经在关键服务器上启动了该应用程序。

最近漏洞报告的增加与人工智能工具在错误搜寻中的使用直接相关。互联网漏洞赏金等计划收到大量提交,导致奖励流程临时调整。

Linux 系统管理员有何变化

这一发现强调了保持内核最新的必要性,尤其是在共享基础设施上。安全团队现在更仔细地关注默认加载的加密模块和内核组件。

《复制失败》类似于《脏牛》和《脏管》等历史失败作品,但因其探索的简单性和范围的广度而脱颖而出。公共 PoC 有助于测试,但也会加速未修补环境中的潜在滥用。

研究人员估计,自 2017 年以来活跃的大多数安装都需要立即关注。供应商之间的协调限制了负责任披露后的曝光期限。