当前位置:首页>Linux>Linux“一键Root”0day漏洞,影响2017年以来所有发行版

Linux“一键Root”0day漏洞,影响2017年以来所有发行版

  • 2026-10-11 08:19:06
Linux“一键Root”0day漏洞,影响2017年以来所有发行版

Linux 内核中新近披露了一个名为 Copy Fail的高危漏洞(CVE-2026-31431),CVSS评分7.8。仅凭一个 732 字节的 Python 脚本,任何无特权的本地用户都能一举拿下 root 权限,几乎在所有主流 Linux 发行版上“一击即中”。该漏洞已潜伏近十年,影响 2017 年至补丁发布前构建的大量内核版本。

该漏洞由 Theori 研究员 Taeyang Lee 发现,并由 Xint Code 研究团队通过 AI 辅助分析构建了完整的漏洞利用链。

Part01

无需特定条件的逻辑缺陷

大多数 Linux 提权漏洞都依赖某种特定条件——比如要赢下竞争条件、匹配特定内核版本,或提前准备好编译好的有效载荷。
Copy Fail 完全不需要这些,它是一条直来直去的逻辑缺陷:运行一次,直接拿 root。研究人员在 Ubuntu、Amazon Linux、RHEL 和 SUSE 四个发行版上,对 6.12、6.17、6.18 内核系列进行了测试,每一次都能拿到 root shell。
Part02

三处“无害”改动的致命叠加

这一漏洞起源于三个原本各自无害的内核改动(2011-2017 年间引入)。内核通过 AF_ALG套接字向普通用户空间暴露加密子系统;splice()系统调用能将文件页缓存直接传入内核,无需拷贝数据;2017 年,algif_aead.c中又引入了一项“就地”优化,让 AEAD 加密操作的输入、输出散列表指向同一位置,从而使共享的页缓存页面进入了可写的加密目标。

更致命的是,用于 IPsec 扩展序列号的 authencesn加密器中还存在一个旧 bug:它会在输出缓冲区末尾之外写入 4 个暂存字节,且从不恢复。

三者叠加:攻击者通过 splice将任意可读文件的页缓存送入加密路径,触发 authencesn解密,即可将 4 个受控字节写入内核缓存中该文件的指定偏移处。HMAC 校验虽会失败并返回错误,但写入已经发生。

默认攻击目标是 /usr/bin/su——在所有受测发行版中,它都是一个 setuid-root 程序。按此方法逐 4 字节写入 shellcode,再调用 execve("/usr/bin/su"),内核会从已被篡改的页缓存中加载该程序,并以 root 权限执行 shellcode。

Part03

影响范围:内核版本与容器逃逸

漏洞影响范围极广,覆盖 Ubuntu 24.04 LTS、Amazon Linux 2023、RHEL 14.3、SUSE 16,以及 Debian、Arch、Fedora、Rocky、Alma 等运行 2017 年后内核的发行版。
尤其值得警惕的是,Linux 页缓存在所有进程间共享,包括跨越容器边界。这意味着被攻破的容器或 Pod 能利用这一机制篡改宿主机上的缓存二进制文件,实现容器逃逸,直接威胁云原生与多租户环境。
Part04

修复与缓解措施

针对该漏洞的修复补丁(主线提交 a664bf3d603d)已发布,回退了 2017 年的“就地”优化,确保源和目标散列表分离,使页缓存页面不再落入可写的加密目标。各大发行版正在推送更新。
如果无法立即打补丁,可禁用 algif_aead内核模块(对 dm-crypt、LUKS、IPsec、TLS、SSH 等均无影响):
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.confrmmod algif_aead 2>/dev/null || true

但需要注意,在某些企业级内核(如CONFIG_CRYPTO_USER_API_AEAD=y而非m)中,模块禁用可能无法生效。

对于容器化或多租户工作负载,无论是否已修复,都应通过 seccomp 策略阻断 AF_ALG套接字的创建。页缓存破坏不会在重启后留存,但重启前获得的 root shell 是真实的。
目前漏洞概念验证代码已在 GitHub 公开,研究人员呼吁仅在自己拥有或获书面授权的系统上使用。
点击下方小程序参与漏洞打分&点评

即可获取知识币奖励,兑换精美商城礼品

欢迎各路大佬畅所欲言~
👇

参考来源:

Copy Fail - A 732-Byte Python Script Can Get Root on Every Major Linux Distro

https://www.cyberkendra.com/2026/04/a-732-byte-python-script-can-get-root.html


推荐阅读

电报讨论

最新文章

随机文章