漏洞名称:Dirty Frag
发现时间:2026 年 5 月 7 日公开(embargo 被第三方提前破坏)
严重程度:高危(Critical)
未授权本地用户可稳定实现 本地权限提升(LPE)至 root,成功率极高,无需竞态条件,失败也不会导致内核 panic。1. 漏洞简述与重要性Dirty Frag 属于与 Dirty Pipe、Copy Fail 同一 bug 类的新型 page-cache write 漏洞链。通过同时利用 xfrm-ESP Page-Cache Write 和 RxRPC Page-Cache Write 两个逻辑缺陷,实现对 struct sk_buff 中 frag 成员的定向污染,从而向任意可读文件的 page cache 执行确定性写入(类似 4 字节任意写原语)。 该漏洞无需依赖 timing window,在所有主流 Linux 发行版上均可稳定提权,影响面极广,是近期继 Copy Fail 之后又一个“即插即用”的通用 root 漏洞。已公开完整 PoC,实际威胁极高。
2. 披露时间线(Disclosure Timeline)
- 2026-04-29:向 security@kernel.org 提交 rxrpc 漏洞详细技术信息及可实现 Ubuntu root 权限的 weaponized exploit。
- 2026-04-29:向 netdev 邮件列表提交 rxrpc 漏洞修复补丁,同时相关信息被公开。
- 2026-05-07:向 linux-distros 邮件列表提交漏洞详细描述及 exploit,设置 5 天 embargo 期。协议约定:若第三方在 embargo 期间公开 exploit,则 Dirty Frag 将被公开披露。
- 2026-05-07:与 Dirty Frag 无关的第三方公开了 esp 漏洞详细技术信息和 exploit,打破 embargo。
- 2026-05-07:获得各 Linux 发行版维护者同意后,完整公开 Dirty Frag 技术文档及 PoC。
3. 技术原理(核心机制)
- 核心:通过 splice() 构造 nonlinear sk_buff,再利用两个网络子系统(xfrm-ESP / RxRPC)的 page-cache write 缺陷,污染 sk_buff->frag,实现对 page cache 中只读页(如 setuid 二进制)的修改。
- 链式利用:
- xfrm-ESP 原语:提供 4 字节任意 STORE(2017 年引入),但需创建 user namespace(Ubuntu 等默认 AppArmor 阻挡)。
- RxRPC 原语:无需 user namespace(Ubuntu 默认加载 rxrpc.ko),作为 fallback。
- 两者结合完美绕过现有缓解措施(如 Copy Fail 的 algif_aead blacklist),即使系统已禁用 algif_aead 仍可被利用。
- 完全确定性逻辑 bug,无竞态、无 panic。
4. 受影响版本
- xfrm-ESP:内核 commit cac2661c53f3(2017-01-17)起至最新主线(约 9 年影响范围)
- RxRPC:内核 commit 2dc334f1a63a(2023-06)起至最新主线
已验证受影响发行版/内核(均可稳定提权):
- Ubuntu 24.04.4(6.17.0-23-generic)
- RHEL 10.1 / CentOS Stream 10 / AlmaLinux 10(6.12 系列)
- Fedora 44(6.19.14-300.fc44)
- openSUSE Tumbleweed(7.0.2-1-default)
几乎覆盖当前所有主流企业级和桌面 Linux 发行版。5. 利用条件
- 本地未授权普通用户(unprivileged local user)
- 需加载 esp4/esp6 或 rxrpc 模块之一(多数发行版默认加载或可自动加载)
- 已公开完整 PoC(GitHub: V4bel/dirtyfrag)
6. 临时缓解措施(强烈推荐立即执行)
bash
sudosh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf"sudo rmmod esp4 esp6 rxrpc 2>/dev/null ||true
- 该措施无需重启,仅禁用相关内核模块。
- 副作用:会中断 IPsec(VPN)和 RxRPC(AFS 文件系统),请根据实际业务评估。
7. 修复状态目前无官方补丁或 CVE(embargo 破裂导致)。上游已开始合并修复(netdev tree),各发行版后续将陆续 backport,请持续关注官方内核/发行版安全更新。参考:
- 官方仓库 & PoC:https://github.com/V4bel/dirtyfrag
- 详细技术文档:仓库内 assets/write-up.md
建议:立即对所有生产 Linux 服务器执行上述缓解措施,并监控相关模块加载情况。该漏洞已构成现实威胁,建议尽快升级内核至包含修复的版本。