Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2026-98432 — 针对 CVE-2026-98432 的 Rust 检测工具与本地实验环境,该漏洞是 Linux IPv4 TCP 中 inet_opt/ireq_opt 的释放后使用(use-after-free)问题:提供静态 ELF 分析、kprobe 可达性检查以及竞态触发。 | Kitploit
工具/GitHubGitHub/alvaroguzmancode/cve-2026-98432
静态分析漏洞分析漏洞利用模糊测试论文与研究实验室与实践
GitHubalvaroguzmancode/cve-2026-98432

cve-2026-98432

针对 CVE-2026-98432 的 Rust 检测工具与本地实验环境,该漏洞是 Linux IPv4 TCP 中 inet_opt/ireq_opt 的释放后使用(use-after-free)问题:提供静态 ELF 分析、kprobe 可达性检查以及竞态触发。

查看仓库
26天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-98432 — IPv4 TCP 释放后使用(inet_opt / ireq_opt)

针对可从普通 IPv4 TCP 监听器触达的 Linux 内核释放后使用漏洞的研究 PoC 与本地实验环境。这是一个缺陷检测器/触发器,不是漏洞利用程序。

状态

  • 在分析的构建版本(7.0.0-38-generic)上,该代码路径存在漏洞: inet_sock_destruct() 和 tcp_v4_reqsk_destructor() 使用 kfree() 而非 kfree_rcu() 释放选项。
  • kfree 路径在运行时可达(kprobes)。
  • UAF 本身是一个难以触发、突发性的竞态。我们在一次旧运行中看到了两个候选的 free -> use 事件(via=reqsk),但无法可靠地复现它们。
  • 未实现 RCE、KASLR 泄漏和写入原语。 tcp2kaslr 参考仓库也止步于缺陷触发; 后续阶段未公开。
  • 强确认需要 KASAN(或 KFENCE)内核。在测试主机上, CONFIG_KASAN 处于关闭状态,且 KFENCE 采样被禁用。

正确的向量(来自 tcp2kaslr)

不需要 MPTCP。经验证的路径是普通 IPv4 TCP:

  1. 攻击者发送带有 IPv4 Record Route 选项的 SYN。
  2. 内核将选项保存在请求套接字上(ireq_opt)。
  3. 重传的 SYN 构建 SYNACK 并读取这些选项。
  4. 握手完成;子套接字收到相同的指针。
  5. 应用程序 accept() 子套接字,设置 SO_LINGER(0) 并关闭它。 inet_sock_destruct() 使用 kfree() 释放选项。
  6. SYNACK 路径仍在读取已释放的内存。
  7. 并发的读/写必须发生在两个 CPU 上。

我们之前的触发器在两方面有误:受害者从未 accept/close 子套接字 (free_sock=0),并且我们发送的是 RST 而不是依赖服务器关闭。 当前代码添加了正确的部分:

  • listen --accept-close — accept + SO_LINGER(0) + close。
  • --sync — 并发发送 ACK + 重复 SYN,不使用 RST,带 Record Route 选项。

上游的修复正是:

-    kfree(rcu_dereference_protected(inet->inet_opt, 1));
+    kfree_rcu(rcu_dereference_protected(inet->inet_opt, 1), rcu);

以及 tcp_v4_reqsk_destructor() 中的相同改动。

目录

路径内容
rust-poc/原生 Rust PoC:静态 ELF 分析、kprobes、触发模式
lab/用于旧版本地测试的 Alpine + PHP 回环受害者
scripts/本地复现辅助脚本、授权审计辅助脚本
docs/FINDINGS.md测试了什么、确认了什么、未确认什么
docs/EXPLOITATION-NOTES.md范围:仅漏洞触发,无 RCE
docs/evidence/经过脱敏的样本证据

快速开始

cd rust-poc
cargo build --release

# static analysis (no root)
./target/release/cve-2026-98432 static

# runtime reachability (root, tracefs)
sudo ./target/release/cve-2026-98432 runtime

# correct local vector: accept+close server + --sync trigger
cd ..
PASSES=1 ./scripts/repro-sync.sh 8083

repro-sync.sh 在 127.0.0.1:8083 上启动 --accept-close 受害者,使用 sudo 运行同步触发器,并打印 free_sock、use_build 和 UAF 判定结果。一次干净的运行并不是安全的证明:每次尝试的成功率约为 1e-7,且事件会聚集出现。

如果 artifacts/ 缺失,static/runtime 会回退到 /boot;旧版 scripts/cve-2026-98432.sh --static 可以生成内核产物。

阳性结果的样子

在 KASAN 下,内核会在 inet_csk_route_req / ip_options_build 中报告 slab-use-after-free,其释放栈位于 inet_sock_destruct / inet_release。tcp2kaslr 测试框架在 KASAN 下大约经过 134k 次尝试即可触发该问题;在普通内核上,同样的竞态在约 48M 次尝试中仅被观察到两次。

负责任的使用

仅测试你拥有或获得明确授权测试的内核和主机。该触发器是一个内核竞态,可能导致主机崩溃。请使用带快照的一次性虚拟机。

参考资料

  • offline-ant/tcp2kaslr — 漏洞触发器、KASAN 证据、分析: https://github.com/offline-ant/tcp2kaslr
  • 上游补丁:ipv4: free inet_opt and ireq_opt after an RCU grace period (Eric Dumazet),在 net/ipv4/af_inet.c 和 net/ipv4/tcp_ipv4.c 中将 kfree 改为 kfree_rcu。

许可证

MIT。参见 LICENSE。

下载工具