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. 后续的执行可能会使用被修改的变体,而不是磁盘上干净的内容。 ![Dirty Frag 图表](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/e833b433fa071028.png) ## 本仓库包含的内容 - `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, 二进制安全, 内存损坏, 协议分析, 命名空间, 子域名枚举, 安全渗透, 情报收集, 暴力破解, 权限提升, 概念验证, 漏洞分析, 漏洞研究, 系统安全, 网络安全, 路径探测, 隐私保护, 零日漏洞