当前位置:首页>Linux>Dirty Frag Linux高危漏洞POC发布

Dirty Frag Linux高危漏洞POC发布

  • 2026-10-11 08:08:29
Dirty Frag Linux高危漏洞POC发布
请点击上方蓝色的【#公众号信安社群#】微信公众号一键关注!
Dirty Frag 是一个新披露、待申请 CVE 的 Linux 内核本地权限升级(LPE)漏洞,它通过串联两个独立的页面缓存写漏洞——xfrm-ESP 页面缓存写入和 RxRPC 页面缓存写入,几乎实现了所有主要 Linux 发行版的根权限访问。
Dirty Frag 属于与 Dirty Pipe 和 Copy Fail(CVE-2026-31431) 相同的漏洞类别,但针对 的是内核  结构 sk_buff 中的 frag 成员,而非 struct pipe_buffer。
该漏洞由安全研究员 Hyunwoo Kim (@v4bel) 发现并报告,利用了零拷贝发送路径,即 splice() 在发送 端 skb 的破碎  槽中植入只读页面缓存页的引用,如 /etc/passwd 或 /usr/bin/su  。
接收端内核代码随后直接在该碎片上执行原位加密操作,永久修改 RAM 中的页面缓存。
每次后续读取该文件都会看到损坏版本,尽管未授权攻击者仅获得读取权限。
与竞态条件漏洞不同,Dirty Frag 是一种确定性逻辑漏洞,无需时序窗口,失败时不会使内核惊慌,且成功率极高。
xfrm-ESP 的分页缓存写入位于 esp_input(),即 IPsec ESP 接收路径中。当 skb 是非线性但缺少破片列表时 ,代码跳过强制 性的 skb_cow_data() 缓冲区分配步骤,直接跳转到攻击者植入的破片上的原位 AEAD 解密。
利用 XFRMA_REPLAY_ESN_VAL netlink 属性,攻击者可以控制 每个存储操作的位置  (文件偏移量)和  值  (4 字节),从而用静态根壳 192 字节写入 48 个 4 字节的分块,覆盖 /usr/bin/su 页面缓存中的任意字节。
攻击者在用户空间中暴力破解K,直到产生所需的明文(例如将 /etc/passwd 第 1 行密码字段变成空字符串),从而实现 PAM nullok 认证绕过。

1、受影响的发行版和内核版本

ESP 漏洞自提交 cac2661c53f3 (2017 年 1 月)起就存在,RxRPC 漏洞自 2dc334f1a63a (2023 年 6 月)起出现,使链条的有效窗口约为 9 年。已确认受影响的分布包括:
  • Ubuntu 24.04.4 (kernel 6.17.0-23-generic)
  • RHEL 10.1 (kernel 6.12.0-124.49.1.el10_1.x86_64)
  • openSUSE Tumbleweed (kernel 7.0.2-1-default)
  • CentOS Stream 10 (kernel 6.12.0-224.el10.x86_64)
  • AlmaLinux 10 (kernel 6.12.0-124.52.3.el10_1.x86_64)
  • Fedora 44 (kernel 6.19.14-300.fc44.x86_64)
使用 SKBFL_SHARED_FRAG 标志确保拼接置顶页面始终通过 skb_cow_data() 路由的 ESP 变体补丁于 2026 年 5 月 7 日合并进了 netdev 树。
最终合并补丁基于陈宽廷提交的共享击杀方法。RxRPC 补丁在上游保持未合并,该补丁在现有  的 skb_cloned() 门  上增加了 || skb->data_len ,以强制隔离非线性 skb。
截至发布时,由于 2026 年 5 月 7 日另一第三方提前解除禁运,尚未为这两个漏洞分配任何 CVE 标识符。
2、缓解措施
由于发行版级补丁尚未可用,管理员应立即使用以下命令禁用受影响的内核模块:
这会将esp4、esp6 和rxrpc 模块列入黑名单并卸载,从而破坏 IPsec 和 RxRPC 的功能作为权衡。
依赖 IPsec VPN 隧道的系统应在采用变通方案前仔细权衡运营影响,并在可用后优先安装分发式回移植的内核补丁。
完整的技术文档和 PoC 漏洞代码可在研究者的 GitHub 仓库中获取。

最新文章

随机文章