Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dirtyfrag-patches — 内核补丁,用于修复 Dirty Frag 漏洞(CVE-2026-43284、CVE-2026-43500) | Kitploit
工具/GitHubGitHub/metalx1993/dirtyfrag-patches
权限提升漏洞分析漏洞利用
GitHubmetalx1993/dirtyfrag-patches

dirtyfrag-patches

内核补丁,用于修复 Dirty Frag 漏洞(CVE-2026-43284、CVE-2026-43500)

查看仓库
3个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Dirty Frag — 内核补丁

针对由 Hyunwoo Kim (@v4bel) 发现的 Dirty Frag 漏洞类别的补丁系列。

Dirty Frag 允许非特权本地用户覆盖只读文件(例如 /usr/bin/su、/etc/passwd)页缓存中的任意字节,从而在所有主流 Linux 发行版上实现本地权限提升至 root。


⚠️ 致谢声明

本仓库中的补丁并非本仓库维护者编写。

  • CVE-2026-43284(ESP 补丁): 由 Hyunwoo Kim (@v4bel) 和 Kuan-Ting Chen 编写。已合并至 Linux 内核主线,提交号为 f4c50a4034e6。
  • CVE-2026-43500(RxRPC 补丁): 由 Hyunwoo Kim (@v4bel) 编写。已提交至 netdev 邮件列表,地址为 afKV2zGR6rrelPC7@v4bel,等待合并。

本仓库是这些补丁的格式化镜像,以 git am 可直接使用的格式收集于此,方便使用。 所有功劳归于原作者。原始研究和 PoC:https://github.com/V4bel/dirtyfrag


补丁


受影响的内核版本

  • CVE-2026-43284(ESP):从 4.10(提交 cac2661c53f3,2017-01-17)到 6.x 且早于 f4c50a4034e6 的内核
  • CVE-2026-43500(RxRPC):从 6.4(提交 2dc334f1a63a,2023-06-08)到上游(尚无补丁合并)

如何应用

应用到内核源码树

root@kitploit:~
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

# 应用补丁 1(ESP — CVE-2026-43284)
git am 0001-net-xfrm-fix-page-cache-write-via-esp-splice-CVE-2026-43284.patch

# 应用补丁 2(RxRPC — CVE-2026-43500)
git am 0002-net-rxrpc-fix-page-cache-write-via-rxkad-splice-CVE-2026-43500.patch

使用 patch 应用(如果 git am 因上下文偏移而失败)

root@kitploit:~
patch -p1 < 0001-net-xfrm-fix-page-cache-write-via-esp-splice-CVE-2026-43284.patch
patch -p1 < 0002-net-rxrpc-fix-page-cache-write-via-rxkad-splice-CVE-2026-43500.patch

即时缓解措施(无需重新编译内核)

如果无法立即应用补丁,请将易受攻击的模块加入黑名单:

root@kitploit:~
sudo 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"

警告: 移除 esp4/esp6 将禁用 IPsec ESP。在生产系统上应用前请评估影响。


技术摘要

根本原因

两种变体具有相同的根本原因:内核的零拷贝 splice() 路径将只读页缓存页直接放入 skb frag 中,而没有写时复制(CoW)语义。随后的就地加密操作会写入该页缓存页,从而永久修改缓存的文件内容。

root@kitploit:~
splice(file_fd → pipe → socket)
         │
         ▼
  skb->frags[0].page = &page_cache_page_P   <- 无 CoW!
         │
         ▼
  [esp_input / rxkad_verify_packet_1]
  就地 AEAD/fcrypt 解密  src == dst == &P
         │
         ▼
  STORE 到 page_cache_page_P     <- 对只读文件缓存进行任意写入

修复策略

变体方法

参考资料

  • 原始 PoC 与文章:https://github.com/V4bel/dirtyfrag
  • CVE-2026-43284:https://www.cve.org/CVERecord?id=CVE-2026-43284
  • CVE-2026-43500:https://www.cve.org/CVERecord?id=CVE-2026-43500
  • 主线提交(ESP 修复):https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4
  • RxRPC 补丁(netdev 邮件列表):https://lore.kernel.org/all/afKV2zGR6rrelPC7@v4bel/
  • Copy Fail(祖先漏洞):https://copy.fail/
  • Dirty Pipe(同类漏洞):https://dirtypipe.cm4all.com/
下载工具
文件CVE子系统状态
0001-net-xfrm-fix-page-cache-write-via-esp-splice-CVE-2026-43284.patchCVE-2026-43284net/ipv4/esp4.c、net/ipv6/esp6.c、net/ipv4/ip_output.c、net/ipv6/ip6_output.c✅ 已合并至主线(f4c50a4034e6)
0002-net-rxrpc-fix-page-cache-write-via-rxkad-splice-CVE-2026-43500.patchCVE-2026-43500net/rxrpc/call_event.c、net/rxrpc/conn_event.c⏳ 已提交至 netdev 邮件列表(afKV2zGR6rrelPC7@v4bel),等待合并
ESP使用 SKBFL_SHARED_FRAG 标记 splice frag;在 esp_input()/esp6_input() 中检查此标志,以在就地加密前强制调用 skb_cow_data()
RxRPC将 skb_cloned() 门控扩展为 (skb_cloned(skb) || skb->data_len),以便非线性的 skb(可能包含 splice frag)在就地解密前始终被复制