Copy Fail 2: Electric Boogaloo
摘要
Copy Fail 2 是一个针对 Linux 内核 xfrm 子系统中非特权本地权限提升(LPE)漏洞的概念验证利用程序,攻击者可利用该漏洞在现代发行版上获取 root 权限。
查看缓存全文
缓存时间: 2026/05/08 09:35
0xdeadbeefnetwork/Copy_Fail2-Electric_Boogaloo
来源:https://github.com/0xdeadbeefnetwork/Copy_Fail2-Electric_Boogaloo
Copy Fail 2: Electric Boogaloo
通过 xfrm ESP-in-UDP MSG_SPLICE_PAGES 非 COW 快速路径实现的非特权 Linux LPE。向任意可读文件的页缓存写入。将 /etc/passwd 中的 nologin 行覆盖为 sick::0:0:...:/:/bin/bash,然后 su 进入该用户。与 Copy Fail (CVE-2026-31431) 属于同一类别,但位于不同子系统。
漏洞:https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4
构建
sudo apt install -y libssl-dev gcc
gcc -O2 -Wall copyfail2.c -o copyfail2 -lcrypto
gcc -O2 -Wall aa-rootns.c -o aa-rootns
运行
./run.sh # 安装 + 进入 root shell
./run.sh --clean # 通过同一原语还原 /etc/passwd
向 /etc/passwd 添加无密码的 uid-0 用户 sick,然后执行 exec su - sick。PAM 的 nullok 静默接受空密码——无需输入。sick 行保留在 /etc/passwd 中——重新运行可直接回到 root。--clean 的状态保存在 /var/tmp/.cf2.state。
无需 sudo。通过 userns netlink 路径自动加载 esp4 / xfrm_user / xfrm_algo。
测试环境
| 发行版 | 内核 | 结果 |
|---|---|---|
| Ubuntu 22.04 LTS | 5.15.0-176-generic | 不受漏洞影响* |
| Ubuntu 24.04 LTS | 6.8.0-110-generic | 获取 root |
| Debian 13 | 6.12.74 | 获取 root |
| Arch | 6.19.11-arch1-1 | 获取 root |
| Fedora 43 | 6.19.14-200.fc43 | 获取 root |
| Ubuntu 26.04 LTS | 7.0.0-15-generic | 获取 root |
IPv6
同一漏洞也存在于 esp6_input 中,且未被 v4 修复补丁 f4c50a4034 覆盖。PoC 位于 ipv6/ 目录:ipv6/run.sh 和 ipv6/copyfail2v6.c。使用 ::1 环回地址和 ip -6 xfrm。ESP 数据包填充至 >= 40 字节以通过 xfrm6_input.c:124 的大小检查。
致谢
Hyunwoo Kim (imv4bel) 和 Kuan-Ting Chen 报告、测试并撰写了上游修复补丁。
Steffen Klassert:IPsec 维护者,将修复补丁提交至 netdev/net.git。
Brad Spengler (@spendergrsec / grsecurity):在任何人阅读该提交之前,率先将其归类为 copyfail-class。
Theori / Xint:原始 Copy Fail (CVE-2026-31431) 的发现者。
相似文章
CVE-2026-31431: Copy Fail
CVE-2026-31431(Copy Fail)是Linux内核中的一个本地提权漏洞,影响自2017年以来的所有主流发行版,允许非特权用户通过AF_ALG加密子系统对任何可读文件的页缓存进行确定性的4字节写入,从而获得root shell访问权限。
Podman无根容器与Copy Fail漏洞
本文讨论了Copy Fail漏洞,这是一个影响Podman无根容器的安全漏洞。
Dirtyfrag:通用 Linux 本地权限提升漏洞
一份名为“Dirty Frag”的报告详细描述了一种通用的 Linux 本地权限提升(LPE)漏洞。该漏洞通过串联两个内核错误,可在主要发行版上获取 root 访问权限。披露信息指出,由于保密期失效,目前尚无针对此关键安全问题的补丁。
你给我一个u32。我让你成为root。 (io_uring ZCRX freelist LPE)
Linux内核io_uring子系统中通过零拷贝接收freelist漏洞实现的本地权限提升利用。
Anthropic Claude Code 泄露揭示严重命令注入漏洞
在 Anthropic 的 Claude Code CLI 和 SDK 中发现了严重命令注入漏洞(CVE-2026-35022,CVSS 9.8),攻击者能够通过环境变量、文件路径和身份验证助手执行任意命令并窃取凭据。这些缺陷使得在 CI/CD 环境中能够进行毒化流水线执行攻击,需要立即修补和配置更改。