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访问权限。
CopyFail: 从Pod到主机
Copy Fail 是一种新的 Linux 本地提权漏洞,它利用内核内存损坏缺陷重写页缓存,从而实现跨容器攻击和容器逃逸。
Podman无根容器与Copy Fail漏洞
本文讨论了Copy Fail漏洞,这是一个影响Podman无根容器的安全漏洞。
Dirtyfrag:通用 Linux 本地权限提升漏洞
一份名为“Dirty Frag”的报告详细描述了一种通用的 Linux 本地权限提升(LPE)漏洞。该漏洞通过串联两个内核错误,可在主要发行版上获取 root 访问权限。披露信息指出,由于保密期失效,目前尚无针对此关键安全问题的补丁。
Gentoo 新闻:Copy Fail、Dirty Frag 和 Fragnesia 内核漏洞
Gentoo Linux 报告了 Copy Fail、Dirty Frag 和 Fragnesia 内核漏洞,指出他们已经为支持的内核打了补丁,并建议用户升级。