当前位置:首页>Linux>Dirty Frag:新型Linux内核page-cache写漏洞可稳定提权root

Dirty Frag:新型Linux内核page-cache写漏洞可稳定提权root

  • 2026-10-11 08:10:51
Dirty Frag:新型Linux内核page-cache写漏洞可稳定提权root

导语:2026年5月7日,一个名为"Dirty Frag"的新型Linux内核高危漏洞被完整披露。该漏洞属于与Dirty Pipe、Copy Fail同一bug类的page-cache write漏洞链,攻击者可利用它对任意可读文件的page cache执行确定性写入,从而实现本地权限提升。更恐怖的是,该漏洞无需竞态条件,失败也不会导致内核panic,在所有主流Linux发行版上均可稳定提权。


一、漏洞概述与威胁等级

Dirty Frag是一个典型的page-cache write逻辑漏洞,通过同时利用xfrm-ESP Page-Cache Write和RxRPC Page-Cache Write两个独立缺陷,实现对struct sk_buff中frag成员的定向污染。整个利用链完全确定性,无任何竞态要求,失败安全——不会触发内核panic。

漏洞特性一览:

  • 漏洞类型:本地权限提升(LPE)
  • 影响范围:未授权普通用户 → root
  • 利用成功率:极高(确定性逻辑bug)
  • 是否需要竞态条件:否
  • 失败后果:仅利用失败,无内核panic风险
  • 已公开PoC:是(GitHub: V4bel/dirtyfrag)

二、技术原理深度剖析

2.1 核心机制

Dirty Frag的精髓在于"链式利用"——xfrm-ESP原语和RxRPC原语互补配合,完美绕过现有缓解措施。

xfrm-ESP原语提供4字节任意STORE能力,但需要创建user namespace。在Ubuntu等默认启用AppArmor的发行版上,这条路被堵死了。

RxRPC原语则无需user namespace(Ubuntu默认加载rxrpc.ko),作为完美的fallback路径。两者结合,即使系统已禁用algif_aead(针对Copy Fail的缓解措施),仍可被成功利用。

2.2 利用链路

攻击者首先通过splice()构造一个nonlinear sk_buff,然后利用两个网络子系统的page-cache write缺陷污染sk_buff->frag,最终实现对page cache中只读页的修改——包括setuid二进制文件。

整个利用链的技术特征:

  • 完全确定性逻辑bug,无任何随机性
  • 不依赖timing window
  • 在所有主流Linux发行版上均可稳定复现
  • 失败安全,极其可靠

2.3 与同类漏洞的对比

漏洞名称
披露时间
bug类型
利用难度
Dirty Pipe
2022年
page-cache write
中等(需竞态)
Copy Fail
2024年
page-cache write
低(有缓解措施)
Dirty Frag2026年page-cache write链式利用极低(确定性)

三、影响范围与时间线

3.1 受影响版本

xfrm-ESP模块:内核commit cac2661c53f3(2017年1月17日)引入,影响长达9年。

RxRPC模块:内核commit 2dc334f1a63a(2023年6月)引入。

已验证受影响的发行版:

  • 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发行版。

3.2 披露时间线

  • 2026年4月29日:向security@kernel.org[1]提交RxRPC漏洞详细技术信息及可实现Ubuntu root权限的weaponized exploit
  • 2026年4月29日:向netdev邮件列表提交RxRPC漏洞修复补丁
  • 2026年5月7日:向linux-distros邮件列表提交漏洞详细描述及exploit,设置5天embargo期
  • 2026年5月7日:第三方公开esp漏洞,打破embargo
  • 2026年5月7日:获得各Linux发行版维护者同意后,完整公开Dirty Frag技术文档及PoC

四、利用条件与缓解措施

4.1 利用条件

  • 本地未授权普通用户
  • 需加载esp4/esp6或rxrpc模块之一(多数发行版默认加载或可自动加载)
  • 已公开完整PoC:https://github.com/V4bel/dirtyfrag[2]

4.2 临时缓解措施(强烈推荐立即执行)

sudo sh -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文件系统),请根据实际业务评估后执行。


五、修复状态与安全建议

5.1 修复状态

截至披露日:

  • 无官方补丁或CVE编号(embargo被第三方提前破坏导致)
  • 上游已开始合并修复(netdev tree)
  • 各发行版后续将陆续backport

5.2 安全建议

作为红队攻击者,我必须说:这是一个现实威胁,不是什么"理论风险"。完整PoC已在GitHub公开,任何具备基本Linux知识的攻击者都能在数分钟内完成权限提升。

立即行动清单:

  1. 对所有生产Linux服务器执行上述缓解措施
  2. 监控相关内核模块(esp4/esp6/rxrpc)加载情况
  3. 密切关注发行版官方内核安全更新
  4. 尽快升级内核至包含修复的版本
  5. 审查系统上setuid二进制的完整性

六、参考资料

  • 官方仓库 & PoC:https://github.com/V4bel/dirtyfrag[3]
  • 详细技术文档:仓库内 assets/write-up.md

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

引用链接

[1]security@kernel.org: mailto:security@kernel.org

[2]https://github.com/V4bel/dirtyfrag

[3]https://github.com/V4bel/dirtyfrag

最新文章

随机文章