本文档介绍了由 Hyunwoo Kim (@v4bel) 发现并报告的 Dirty Frag 漏洞类。通过串联 xfrm-ESP Page-Cache Write (CVE-2026-43284) 与 RxRPC Page-Cache Write (CVE-2026-43500),攻击者可以在主流 Linux 发行版上提升至 root 权限。
Dirty Frag 属于与 Dirty Pipe 和 Copy Fail 相同的 bug 家族。它属于确定性的逻辑漏洞,不依赖时间窗口或竞争条件,失败时不会导致内核恐慌,且利用成功率极高。
完整的技术细节和披露时间线请参见随附的技术文章(不包含在本仓库中)。
xfrm-ESP Page-Cache Write (CVE-2026-43284) 已于主线提交 f4c50a4034e6 中修复。RxRPC Page-Cache Write (CVE-2026-43500) 已于主线提交 aa54b1d27fe0 中修复。[!NOTE] 本文档首次发布时(2026-05-07),禁运已从外部被打破。当时尚无公开补丁或 CVE。在与维护者通过 [email protected] 讨论后,Dirty Frag 的披露被公之于众。时间线详见技术文章。
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
此 PoC 在与 linux-distros 协调后出于信息目的共享。请勿在未经授权的系统上运行。
⚠️ 重要: 运行利用程序会污染页面缓存。要恢复干净状态,请执行以下任一操作:
echo 3 > /proc/sys/vm/drop_caches
或重启机器。
实际上,这些漏洞跨越了大约九年。
已测试的发行版版本包括:
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; echo 3 > /proc/sys/vm/drop_caches; true"
xfrm-ESP 页面缓存写入提供了类似于 Copy Fail 的强大约束 4 字节 STORE 原语,并且在许多发行版上可用,但需要特权才能创建命名空间。
Ubuntu 可能通过 AppArmor 限制非特权用户命名空间创建,从而阻止 xfrm-ESP 被触发。RxRPC 页面缓存写入不需要命名空间创建特权,但 rxrpc.ko 模块在多数发行版上默认不存在。而在 Ubuntu 上,rxrpc.ko 通常会加载。
串联两者弥补了各自的缺口,从而在所有主要发行版上实现 root 权限。详情见技术文章。
是的——Dirty Frag 与“Dirty Pipe”相关,这个名字反映了该漏洞类修改了 struct sk_buff 的 frag 成员。
Copy Fail 启发了这项研究。Dirty Frag 链中的 xfrm-ESP 页面缓存写入与 Copy Fail 使用相同的 sink,但即使存在 algif_aead 缓解措施,它也能触发。因此,已针对 Copy Fail 加固的系统可能仍对 Dirty Frag 脆弱。
请遵循上面“缓解措施”部分的步骤。