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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
tcp2kaslr — CVE-2026-98432:一个普通的 IPv4 TCP 服务器存在漏洞,MPTCP 并非触发因素。漏洞触发、证据与分析。 | Kitploit
工具/GitHubGitHub/offline-ant/tcp2kaslr
内存取证漏洞分析漏洞利用模糊测试论文与研究实验室与实践
GitHuboffline-ant/tcp2kaslr

tcp2kaslr

CVE-2026-98432:一个普通的 IPv4 TCP 服务器存在漏洞,MPTCP 并非触发因素。漏洞触发、证据与分析。

查看仓库
215天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-98432

由 DeepSeek 撰写。

一个普通的 IPv4 TCP 服务器存在漏洞。MPTCP 并非触发条件。

我们使用发布版 tarball 构建了 Linux 6.18.55,并让内核在一个普通的 IPPROTO_TCP 监听器上读取已释放的内存。KASAN 报告了两次。从未创建过 MPTCP 套接字,且其中一次运行在内核中关闭了 MPTCP。

同一个缺陷使内核从已释放的对象中复制字节到它发回的响应中。这正是破解 KASLR 所需的原语,我们已在未公开的工作中观察到它发生。我们没有构建内核地址泄露,也没有证明写入。

这里用代码和日志证明的是:释放后使用是真实存在的,标准 TCP 可以触达它,且上游修复可以阻止它。

运行记录

内核MPTCP尝试次数时间结果
6.18.55,无修复未使用134,95534 秒KASAN 释放后使用
6.18.55,无修复已关闭191,43180 秒KASAN 释放后使用
6.18.55 + 修复未使用439,316411 秒干净

触发难度有多大?

非常困难。在 KASAN 下读取器很慢,因此该缺陷在几十万次尝试内就会显现。在普通内核上则罕见得多:在约 4800 万次尝试中我们只看到两次事件,且都发生在同一五秒内。

这太少,无法给出速率。我们最多只能声称每次尝试约 1e-7 的上界,而这还是最好情况,因为我们的测试框架强制将两个数据包分配到两个 CPU 上,而真实网卡通常将一条流发送到一个 CPU。

因此,一次干净的运行并不意味着内核是安全的。在引用任何数字之前,请阅读 ANALYSIS.md 第 5.2 节和第 6 节。

用通俗的话说这个缺陷

TCP 服务器收到一个 SYN。该 SYN 携带一个 IPv4 选项(Record Route 或 Timestamp)。内核将这些选项保存在请求套接字上。

同一连接的第二个 SYN 到达。内核为它构建一个 SYNACK 并读取已保存的选项。

与此同时握手完成。子套接字获得同一个指针,而非副本。服务器关闭子套接字,内核用普通的 kfree() 释放这些选项。

SYNACK 代码仍在读取那块内存。这就是释放后使用。同样的读取正是将已释放的字节放入数据包的原因。

这个仓库不是什么

它是一个缺陷触发器,不是漏洞利用。它不泄露内核地址,不写入内核内存,也不获取 root。它展示的是内核读取已释放的内存;KASAN 是裁判。

仓库有意止步于此。后续阶段在私下进行,未在此发布。

复现它

scripts/get-kernel.sh              # fetch 6.18.55, sha256 checked, into linux/
scripts/build-kernel.sh vuln       # KASAN kernel, no fix
scripts/build-kernel.sh patched    # KASAN kernel, with the fix
scripts/build-harness.sh           # builds harness/init + initramfs
scripts/run.sh vuln 90 selftest    # checks the wiring only
scripts/run.sh vuln 600            # expect a KASAN report
scripts/run.sh patched 600         # expect nothing

你需要 gcc、make、bison、flex、bc 和 qemu-system-x86_64。KVM 会大有帮助。 该虚拟机需要 2 GB 内存和 8 个 vCPU。

单次运行可能什么都显示不出来。 这并不能证明内核是安全的。请多次运行,并阅读 ANALYSIS.md 中的注意事项。

检查你自己的内核

不要相信版本字符串。要查看二进制文件中的代码。

scripts/check-free-sites.py

它在运行中的内核里找到这两个空闲站点,并显示它们调用的是哪个函数:kfree(有问题的)还是 kvfree_call_rcu(已修复的)。

在编写本文所用的机器上(6.18.59_1),两个站点都使用 kvfree_call_rcu,因此该内核已修复。

谁受影响

如果以下三个条件全部成立,主机就受影响:

  1. 它监听 IPv4 TCP,并且
  2. 对端发送带有 IP 选项的 SYN,并且
  3. 程序很快关闭已接受的套接字。

攻击者控制第 2 点。因此大多数互联网服务器都受影响,而且“我们不使用 MPTCP”也无济于事。

两点说明:

  • accept_source_route=0 不能保护你。它只阻止源路由,不阻止 Record Route 或 Timestamp。
  • 如果暂时无法打补丁,就丢弃携带 IP 选项的入站 SYN。这样内核就永远不会为请求套接字保存选项。打补丁更好。

文件

路径内容
ANALYSIS.md完整报告:源码路径、方法、结果、限制
harness/在 QEMU 中作为 /init 运行的漏洞触发器
patches/上游修复,用于对照构建
scripts/获取、构建、运行和检查辅助脚本
evidence/KASAN 报告、运行日志、构建对比

范围

仅限测试内核,且仅限你拥有的内核。这里的内容不应指向你无法控制的系统。

许可证

我们的代码和文本采用 MIT 许可证。patches/ 包含一个 Linux 内核提交,仍遵循 GPL-2.0。参见 LICENSE。

下载工具