ChernStepanov/DirtyFrag-for-dummies
GitHub: ChernStepanov/DirtyFrag-for-dummies
针对 Linux 内核 Dirty Frag 漏洞(CVE-2026-43284)的研究笔记与概念验证代码,详细记录了 XFRM ESP 路径中页缓存损坏的完整技术机制。
Stars: 0 | Forks: 0
# Dirty Frag / CVE-2026-43284 — 研究笔记
## 概述
本仓库包含针对 Linux 内核漏洞的整理版技术图表和支持笔记,该漏洞通常被称为 **Dirty Frag**,并在 xfrm-ESP 路径中被跟踪为 **CVE-2026-43284**。
该问题属于由 Hyunwoo Kim ([@v4bel](https://github.com/V4bel)) 发现的更广泛的 **Dirty Frag** 漏洞类别。相关的 RxRPC 变体作为 **CVE-2026-43500** 单独跟踪。
这些资料的目的是:
- 在系统层面解释该漏洞的机制;
- 记录 XFRM ESP、UDP 封装、`splice()`、`skb` 分片、文件后备页和页缓存损坏之间的关系;
- 为报告、案例研究和防御简报提供可直接用于发布的图表。
本仓库**不是**漏洞利用指南。
实际上,本仓库以更易于检查的形式扩展并记录了最初公开的 Dirty Frag ESP 概念验证。包含的材料仅适用于 **64 位 Linux 系统**。
## 工作原理
在宏观层面上,该问题与 xfrm ESP 接收路径中的**错误的原地处理**有关。
整个调用链如下:
1. 一个本地无特权进程通过 `unshare(CLONE_NEWUSER | CLONE_NEWNET)` 进入新的 user 和 network 命名空间;
2. 通过 Netlink 套接字安装 XFRM Security Association;
3. 每个 Security Association 在 Extended Sequence Number 状态中存储了一个 192 字节小型 ELF payload 的 4 个字节;
4. 来自 `/usr/bin/su` 的只读页通过 `splice()` 和 `SPLICE_F_MOVE` 被移动到 UDP 数据包路径中;
5. 该数据包携带一个文件后备页作为 `skb` 分片;
6. ESP 接收路径执行原地重放窗口更新,此时分片页被视为可写;
7. 4 字节的写入操作落入了由页缓存支持的页中;
8. **磁盘上的文件保持不变**,但**内存中缓存的表示已被破坏**;
9. 后续的执行可能会使用被修改的变体,而不是磁盘上干净的内容。

## 本仓库包含的内容
- `poc/dirtyfrag_sim.cpp` — 整理后的 C++ 研究源文件
- `poc/dirtyfrag` — 编译好的 64 位二进制文件
- `docs/dirtyfrag-flow.png` — 生成的发布用图表
## 二进制构建
本仓库还包含一个由 C++ 源文件编译而成的 C++ 二进制文件。示例构建命令:
```
g++ -std=c++17 -o poc/dirtyfrag poc/dirtyfrag.cpp
```
## 受影响版本
从 `cac2661c53f3` (2017-01-17) 到 `f4c50a4034e6` (2026-05-05,发布修复) 的内核版本。
实际受影响的时间窗口约为 9 年。
## 免责声明
本仓库仅用于防御性研究、文档编写和教学分析。
请勿将其用于攻击真实系统、修改特权可执行文件或获取未经授权的访问权限。
该漏洞类别由 **Hyunwoo Kim (@v4bel)** 发现。本仓库是一个独立整理的研究文件,旨在用于加速分析。
## 参考文献
- 原始 Dirty Frag 研究与调用链:[V4bel/dirtyfrag](https://github.com/V4bel/dirtyfrag)
- 原始分析文章:[dirtyfrag 分析文章](https://github.com/V4bel/dirtyfrag/blob/master/assets/write-up.md)
- CVE-2026-43284 的内核修复:提交 `f4c50a4034e6`
标签:CISA项目, CVE-2026-43284, Dirty Frag, Linux内核, Page Cache, PoC, skb, splice, UDP封装, Web报告查看器, XFRM ESP, 二进制安全, 内存损坏, 协议分析, 命名空间, 子域名枚举, 安全渗透, 情报收集, 暴力破解, 权限提升, 概念验证, 漏洞分析, 漏洞研究, 系统安全, 网络安全, 路径探测, 隐私保护, 零日漏洞