2026 年 5 月 8 日,韩国安全研究员金贤宇(Hyunwoo Kim)公开披露了名为「Dirty Frag」的 Linux 内核本地提权漏洞链。与此前发现的 Dirty Pipe 和 Copy Fail(CVE-2026-31431)类似,Dirty Frag 同样利用内核页缓存(page cache)机制,但采用了两条完全独立的漏洞路径进行串联,从而实现了对几乎所有主流 Linux 发行版的通用 root 提权。值得注意的是,由于第三方提前破破了 embargo 限制,在各发行版发布官方补丁之前,完整利用代码已在 GitHub 上公开,这意味着该漏洞在披露时处于「无补丁、无警告」的临界状态。
漏洞核心原理:从文件写入到代码执行
Dirty Frag 的技术本质是将两个独立的内核页缓存写入漏洞串联为一条完整的攻击链。理解这两个漏洞的各自特性,是掌握整个利用技术的关键所在。
第一个漏洞位于 Linux 内核的 IPsec/ESP 协议处理路径中,具体为 esp_input() 函数。当一个非线性的 socket 缓冲区(skb)携带 splice 固定(splice-pinned)的页缓存引用绕过内核强制的 skb_cow_data() 写时复制检查时,ESP 解密路径会执行一次原位(in-place)4 字节存储,直接写入页缓存而非复制数据。攻击者能够精确控制写入的文件偏移量和写入的数值,从而将这一特性转化为精确的任意写原语(arbitrary-write primitive)。该漏洞自 2017 年 1 月的内核提交 cac2661c53f3 起就存在于代码中,至今已潜伏超过 9 年。
第二个漏洞位于 RxRPC/rxkad 子系统中,具体为 rxkad_verify_packet_1() 函数。与 ESP 路径不同,该漏洞不需要任何命名空间权限,即可执行 8 字节的 pcbc(fcrypt) 解密操作,同样直接作用于 splice 固定的页缓存。更关键的是,攻击者可以在用户空间完全暴力破解出合适的解密密钥,然后触发内核写入,使整个操作变成确定性的而非概率性的。这种设计避免了传统竞争条件漏洞可能导致的内核崩溃问题。
攻击链构造:覆盖盲点的双路径设计
Dirty Frag 之所以能够实现「通用」提权,核心在于两条路径的互补性。ESP 路径的漏洞虽然稳定可靠,但其利用需要创建无特权用户命名空间(user namespace),而部分发行版(如 Ubuntu)通过 AppArmor 策略默认阻止了这一操作。RxRPC 路径虽然不受命名空间限制,但 rxkad.ko 内核模块在大多数发行版中默认不加载,只有 Ubuntu 等少数发行版会自动加载该模块。
攻击链的设计策略清晰明了:先尝试 ESP 路径,若失败则回退到 RxRPC 路径。两者的目标一致 —— 获得任意文件页缓存写入能力。在获得写入原语后,攻击者可以选择写入带有 SUID 位的 shell 脚本、覆盖 shadow 文件修改 root 密码、或通过写 /etc/passwd 添加特权用户等多种方式完成本地提权。由于整个利用过程不涉及任何竞争条件,失败时不会导致内核崩溃,成功率接近 100%。
值得注意的是,Dirty Frag 能够绑过针对 Copy Fail 的现有缓解措施。Copy Fail 漏洞通过黑名单 algif_aead 模块进行防御,但 Dirty Frag 攻击的是完全不同的内核子系统(xfrm 和 rxrpc),因此已部署 Copy Fail mitigation 的系统同样易受攻击。
受影响版本与实际可利用性评估
从内核版本覆盖范围来看,xfrm 组件自 2017 年 1 月起就存在漏洞,跨越了几乎所有主流内核版本;RxRPC 组件自 2023 年 6 月起存在漏洞。已确认受影响的发行版包括:Ubuntu 24.04.4、RHEL 10.1、CentOS Stream 10、AlmaLinux 10、Fedora 44 以及 openSUSE Tumbleweed,覆盖范围延伸至 7.x 内核线。
在实际利用场景中,该漏洞的可用性极高。首先,整个利用过程是确定性的,不需要任何时序运气,这意味着在容器、虚拟机和物理机上均可稳定复现。其次,利用代码已经公开,任何具备本地代码执行能力的攻击者都可以在受影响系统上提权至 root。最后,由于漏洞披露时并无现成补丁,攻击者拥有数周乃至数月的「窗口期」—— 这与 Copy Fail embargo 被提前打破的情况如出一辙。
从防御角度而言,由于两条漏洞路径均依赖特定内核模块加载,最直接的缓解措施是阻止这些模块加载。通过在 /etc/modprobe.d/ 目录下创建配置文件,将 esp4、esp6 和 rxrpc 模块重定向到 /bin/false,可以有效阻止漏洞触发。对于依赖 IPsec VPN(ESP 模式)的组织机构,需要在安全性与可用性之间进行权衡评估。
技术启示与防御建议
Dirty Frag 的披露再次揭示了内核页缓存写入类漏洞的持久威胁。与传统内核提权漏洞依赖于竞争条件(race condition)或内存破坏(memory corruption)不同,这类逻辑漏洞的利用往往更加稳定可靠,且难以通过常规的运行时检测机制发现。从防御的层面来看,及时应用内核安全更新、限制非特权用户创建命名空间的能力、监控系统日志中的模块加载行为,是应对此类漏洞的关键纵深防御策略。
资料来源:CyberKendra 博客《Dirty Frag — No Patch, No Warning — Root Access on Every Major Linux Distro》(2026 年 5 月 8 日)、GitHub 仓库 V4bel/dirtyfrag
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。