文章

Dirty Frag:Linux内核零拷贝提权漏洞解析

#095 · 2026-05-08 · 21ZHAO Blog

引言

Linux 内核的安全防线再次遭遇严峻挑战。韩国安全研究员 Hyunwoo Kim(@v4bel)发现并报告了一个严重的本地提权漏洞,代号 Dirty Frag。该漏洞的 PoC(概念验证代码)已于 2026 年 5 月 7 日在 GitHub 公开,攻击者仅需通过单行命令即可完成编译并执行,其便捷性与破坏力令人警惕。

关键信息

Dirty Frag 并非凭空出现,它属于与 Dirty Pipe(CVE-2022-0847)和 Copy Fail 相同的漏洞类别,核心问题均源于零拷贝发送路径上的设计缺陷。具体技术细节如下:

  • 漏洞机理splice() 系统调用将攻击者仅有读权限的 page cache 页直接钉入 struct sk_buff 的 frag 槽中。然而,接收侧的内核代码对该 frag 执行原地(in-place)加密或解密操作,导致原本只读的 page cache 被意外写入。
  • 利用路径:该漏洞由两个独立模块链式组合构成,互相覆盖了对方的限制,使得单一攻击程序可在几乎所有主流 Linux 发行版上生效:
    1. IPsec ESP 模块:该模块存在约 9 年历史,自 2017 年起受影响。利用此路径可将 /usr/bin/su 替换为恶意程序,但需要创建用户命名空间的权限。
    2. RxRPC 协议模块:自 2023 年起受影响。利用此路径可清空 /etc/passwd 中 root 的密码字段,且完全无需任何特殊权限

为什么值得关注

  1. 利用门槛极低:PoC 的公开且执行简单,意味着自动化攻击脚本可能迅速在野流行,大量未修补的系统面临即时风险。
  2. 影响范围深远:由于涉及内核底层机制,且两个利用变体互补,几乎覆盖了所有主流 Linux 环境,无论是服务器还是桌面端均难幸免。
  3. 历史教训重演:作为 Dirty Pipe 的“近亲”,它再次证明了零拷贝优化在安全性与性能平衡上的脆弱性,提醒开发者在追求性能时需重新审视内存安全边界。

可延展观察

  • 内核补丁策略:Linux 社区将如何修复此类深植于零拷贝路径的结构性问题?是否会引入更严格的内存访问控制机制?
  • 企业级响应:各大云服务商和 Linux 发行版维护者(如 Red Hat, Ubuntu, Debian)的补丁推送速度及兼容性测试情况值得持续跟踪。
  • 检测与防御:在补丁发布前,系统管理员应如何监控异常的内核内存写入行为?现有的 EDR(端点检测与响应)方案是否具备对此类内核级提权的有效检测能力?

参考来源