Linux内核加密子系统发现一个逻辑漏洞,任何无权限的本地用户均可利用它获得完整root访问权限。概念验证脚本仅732字节Python代码,漏洞影响2017年以来几乎所有主流Linux发行版。
Linux内核加密子系统中潜藏近十年的逻辑漏洞,可被任意无权限本地用户利用以获取完整root访问权限——而概念验证利用脚本仅有732字节的Python代码。
安全公司Theori及其AI驱动的审计工具Xint Code于4月29日(周三)公开披露了该漏洞,漏洞被命名为"Copy Fail"(CVE-2026-31431)。该漏洞的CVSS评分为7.8,影响自2017年以来发布的几乎所有主流Linux发行版,包括Ubuntu、Amazon Linux、RHEL和SUSE。各大发行版已陆续发布补丁,Linux内核主线修复提交于4月1日完成。
已发布
10小时前

根本原因可追溯至 2017 年对 algif_aead.c 的一项优化——该优化使 AEAD 加密操作以原地方式执行。当与 splice() 系统调用结合使用时,这一优化会导致页面缓存页(即内核对磁盘文件的缓存副本)被放入可写的散列表(scatterlist)中。authencesn AEAD 算法随后会在正常解密流程中向这些页面写入四字节的临时数据。
攻击者可以控制目标文件、文件内的精确偏移量,以及写入的四字节内容。默认的利用方式以 /usr/bin/su 为目标——这是一个在所有测试发行版上均存在的 setuid-root 二进制文件。页面缓存被篡改后,调用 su 即可为攻击者获取 root shell。由于磁盘上的文件本身未被修改,AIDE 或 dm-verity 等完整性监控工具对此毫无察觉。
与 Dirty Pipe(CVE-2022-0847)——即常被拿来与 Copy Fail 对比的 2022 年页面缓存漏洞——不同,此漏洞的利用无需竞争条件,也不依赖特定内核版本的偏移量。正如 SUSE 在其安全公告中所指出的,该漏洞"无需复杂的竞争条件,仅凭一个简短的脚本即可实现 100% 稳定利用"。



此次漏洞的发现方式本身或许比漏洞本身更引人关注。根据Theori发布的披露报告,该公司的AI漏洞扫描系统Xint Code在对Linux crypto/ 子系统进行约一小时的自动化分析后发现了这一缺陷,整个过程"仅需一次操作员提示,无需任何辅助工具"。Theori曾九度荣获DEF CON CTF冠军,并入围DARPA AI网络挑战赛决赛,该公司已在GitHub上随披露报告一同发布了完整的概念验证代码。
Bugcrowd的Casey Ellis表示,此次发现意味着"挖掘深层逻辑漏洞的成本可能已下降了约一个数量级",并警告那些将内核提权漏洞视为罕见威胁的组织:留给他们更新威胁模型的时间"可能只有数周,而非数年"。bugcrowd



修复方案为主线提交 a664bf3d603d,它回滚了2017年的原地优化,使页面缓存页不再进入可写散列表。对于暂时无法打补丁的管理员,建议将 algif_aead 内核模块加入黑名单。Theori表示,此举对绝大多数系统几乎没有可感知的影响,因为绝大多数Linux加密操作都不使用AF_ALG用户空间接口。对于运行不可信代码的容器化环境和CI环境,无论是否已完成补丁修复,均建议通过seccomp阻止AF_ALG套接字的创建。


免费获取企业 AI 成熟度诊断报告,发现转型机会
关注公众号

扫码关注,获取最新 AI 资讯
3 步完成企业诊断,获取专属转型建议
已有 200+ 企业完成诊断