文章总结: DirtyFrag是2026年5月披露的Linux本地提权漏洞链,通过组合xfrm-ESP和RxRPC两个漏洞实现无需竞争条件的高成功率提权,影响Linux4.11及以上内核。漏洞已在Ubuntu、RHEL等主流发行版验证,ESP补丁已合并而RxRPC补丁待合入。当前缓解措施包括禁用esp4/esp6/rxrpc模块,待内核更新后修复。 综合评分: 85 文章分类: 漏洞分析,应急响应,漏洞预警,解决方案,Linux安全
Dirty Frag本地提权漏洞存在9年,Linux 4.11起受影响
原创
墨菲安全实验室 墨菲安全实验室
墨菲安全实验室
2026年5月8日 12:10 北京
在小说阅读器读本章
去阅读
概述
2026 年 5 月 8 日,安全研究员 Hyunwoo Kim(@v4bel)在漏洞禁运期被第三方提前破坏后,公开披露了 Dirty Frag 漏洞链。
Dirty Frag 通过将 xfrm-ESP Page-Cache Write 和 RxRPC Page-Cache Write 两个漏洞串联,在主流 Linux 发行版上实现无需竞争条件(race-free)的本地 root 提权,成功率极高。
漏洞已在 Ubuntu 24.04.4(6.17.0-23-generic)、RHEL 10.1(6.12.0-124.49.1.el10_1)、openSUSE Tumbleweed(7.0.2-1-default)、CentOS Stream 10、AlmaLinux 10、Fedora 44(6.19.14-300.fc44)上确认可利用。
ESP 分支引入于 commit cac2661c53f3(v4.11,2017-01-17),RxRPC 分支引入于 commit 2dc334f1a63a(v6.5,2023-06),前者漏洞窗口约 9 年。
当前无 CVE 编号,ESP 补丁已于 2026-05-07 合并入 netdev 树,RxRPC 补丁尚未合入上游。
两条利用路径对内核版本的要求不同。ESP 变体从 v4.11 起即可在允许无特权用户命名空间创建的系统上独立完成提权(RHEL、Fedora、openSUSE、CentOS 等默认允许)。
RxRPC 变体需要 v6.5+,针对 Ubuntu 的具体情况:Ubuntu 的 AppArmor 策略封堵了无特权 unshare(CLONE_NEWUSER),ESP 变体无法触发,但 Ubuntu 默认加载 rxrpc.ko,RxRPC 变体不需要命名空间权限,正好补上这个缺口。完整的链式利用要求 v6.5+。
漏洞背景
Dirty Frag 与 Dirty Pipe 和 Copy Fail 属于同一漏洞类,三者都利用 splice() 将攻击者只有读权限的 page cache 页面植入内核数据路径,再借助内核后续操作完成 page cache 写入:
| | | | | — | — | — | | 漏洞 | 被覆写的结构 | 写入触发点 | | Dirty Pipe | struct pipe_buffer | pipe 写入回退路径 | | Copy Fail | TX SGL(AF_ALG aead) | AEAD tag 字节移位 | | Dirty Frag | struct sk_buff 的 frag | 原地 AEAD / cipher 解密 |
Copy Fail 的已知缓解手段是将 algif_aead 加入模块黑名单。Dirty Frag 的 ESP 分支完全不依赖 algif_aead,对已应用该缓解的系统同样有效。
影响范围
1.Dirty Frag 由两条路径组成
-
xfrm-ESP 路径
由 commit cac2661c53f3 引入,自 Linux Kernel v4.11 起受影响。
利用条件:xfrm/ESP 功能可用,且普通用户可创建 user namespace 与 net namespace。
-
RxRPC 路径
由 commit 2dc334f1a63a 引入,自 Linux Kernel v6.5 起受影响。
利用条件:内核提供或可自动加载 rxrpc 模块。
2.已公开受影响测试环境
| | | | — | — | | 发行版 | 内核版本 | | Ubuntu 24.04.4 | 6.17.0-23-generic | | RHEL 10.1 | 6.12.0-124.49.1.el10_1.x86_64 | | openSUSE Tumbleweed | 7.0.2-1-default | | CentOS Stream 10 | 6.12.0-224.el10.x86_64 | | AlmaLinux 10 | 6.12.0-124.52.3.el10_1.x86_64 | | Fedora 44 | 6.19.14-300.fc44.x86_64 |
3.默认配置受影响判断
不能统一认定所有 Linux 系统默认可利用。
部分主流发行版默认配置下可能满足 ESP 或 RxRPC 任一路径的利用前置条件,具体取决于发行版内核配置和安全策略。
| | | | | — | — | — | | 路径 | 默认配置判断 | 关键条件 | | xfrm-ESP | 多数主流发行版通常包含 xfrm/ESP 能力,但普通用户能否触发取决于 user namespace 策略 | 默认允许 unprivileged user namespace,且 xfrm/ESP 可用 | | RxRPC | 不同发行版差异较大,Ubuntu 上公开资料称 rxrpc.ko 通常可用 | 默认提供或可自动加载 rxrpc 模块 |
建议客户按实际系统核查内核版本、模块配置和 user namespace 策略,而不是仅依据发行版名称判断风险。
补丁分析
1.ESP 变体
补丁已合入 netdev 树(commit f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4,2026-05-07),采用 Kuan-Ting Chen 的 shared-frag 方案:在 IPv4/IPv6 datagram append 路径对 splice 来源的 frag 设置 SKBFL_SHARED_FRAG 标志,esp_input/esp6_input 在 skip_cow 分支检查该标志,带外部 page 的 skb 强制走 skb_cow_data:
net/ipv4/esp4.c- } else if (!skb_has_frag_list(skb)) {+ } else if (!skb_has_frag_list(skb) &&+ !skb_has_shared_frag(skb)) {
net/ipv4/ip_output.c(及 net/ipv6/ip6_output.c 对称改动)+ if (!(flags & MSG_NO_SHARED_FRAGS))+ skb_shinfo(skb)->flags |= SKBFL_SHARED_FRAG;
2.RxRPC 变体
上游尚无合并的补丁。发现者提交的补丁(afKV2zGR6rrelPC7@v4bel)在 call_event.c 和 conn_event.c 的原地解密门控条件中加入 || skb->data_len,非线性 skb 通过 skb_copy() 隔离后再解密:
net/rxrpc/call_event.c 及 net/rxrpc/conn_event.c- if (skb_cloned(skb)) {+ if (skb_cloned(skb) || skb->data_len) {
处置建议
目前各主流发行版尚未发布包含补丁的内核更新,禁用相关模块是当前唯一的缓解手段:
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \ > /etc/modprobe.d/dirtyfrag.conf; \ rmmod esp4 esp6 rxrpc 2>/dev/null; true"
验证是否已禁用:
lsmod | grep -E 'esp4|esp6|rxrpc'# 无输出表示已禁用
禁用 esp4/esp6 会中断依赖 IPsec ESP 的 VPN 和加密隧道;禁用 rxrpc 会影响 AFS 客户端。评估业务影响后再操作。
各发行版内核更新下发后,升级并重启恢复正常加载:
# Ubuntu / Debianapt update && apt upgrade linux-image-$(uname -r)
# RHEL / CentOS / AlmaLinux / Fedoradnf update kernel
参考链接
- https://github.com/V4bel/dirtyfrag
- https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4
- https://lore.kernel.org/all/afLDKSvAvMwGh7Fy@v4bel/
- https://lore.kernel.org/all/[email protected]/
- https://lore.kernel.org/all/afKV2zGR6rrelPC7@v4bel/
- https://dirtypipe.cm4all.com/
- https://copy.fail/
部分典型客户
七大产品矩阵
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:墨菲安全实验室 墨菲安全实验室 墨菲安全实验室《Dirty Frag本地提权漏洞存在9年,Linux 4.11起受影响》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。





![[技术深潜]潜伏9年的Copy-Fail:内核0-Day通杀Root](/images/random/titlepic/4.jpg)





评论