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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2026-98432-audit — 只读 bash 审计脚本,通过检查内核变更日志、发行版修复矩阵和 TCP 监听暴露情况,对 Linux 内核 IPv4 TCP 释放后使用漏洞 CVE-2026-98432 进行分诊。 | Kitploit
工具/GitHubGitHub/quaerendir/cve-2026-98432-audit
防御工具漏洞扫描器漏洞分析脚本与自动化配置审计信息收集事件响应
GitHubquaerendir/cve-2026-98432-audit

cve-2026-98432-audit

只读 bash 审计脚本,通过检查内核变更日志、发行版修复矩阵和 TCP 监听暴露情况,对 Linux 内核 IPv4 TCP 释放后使用漏洞 CVE-2026-98432 进行分诊。

查看仓库
1137天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

cve-2026-98432-audit

CVE Class CVSS Disclosed Shell License Version CI

针对 CVE-2026-98432 的只读审计脚本,该漏洞是 Linux 内核 IPv4 TCP 握手过程中的一个释放后使用(use-after-free)问题。SYN-ACK 可能基于另一个 CPU 刚刚释放的 IP 选项构建。触发方式是对普通监听套接字发起网络流量,因此与同类审计中的页缓存和校验和缺陷不同,它不需要本地访问权限。

简要说明

当连接完成时,tcp_v4_syn_recv_sock() 会将请求套接字的 IP 选项(ireq->ireq_opt)交给新的子套接字,而不进行复制。针对同一请求套接字的重传 SYN 若在另一个 CPU 上处理,可能仍在用这些选项构建 SYN-ACK。自 079096f103fa(4.4)起,请求套接字在无监听锁的情况下运行,子套接字的选项通过普通 kfree() 释放,而 ip_options_build() 会读取已释放的内存(CWE-416)。

请求套接字迁移中存在第二个竞态,仅在启用 net.ipv4.tcp_migrate_req=1 或存在 BPF SK_REUSEPORT_SELECT_OR_MIGRATE 程序时才会出现。修复方案将两处释放都改为 kfree_rcu()。

CVECVE-2026-98432
组件Linux 内核 net/ipv4(tcp_v4_syn_recv_sock、inet_sock_destruct、tcp_v4_reqsk_destructor)
类别释放后使用,可通过监听 TCP 套接字远程触发
引入版本079096f103fa "tcp/dccp: install syn_recv requests into ehash table"(4.4);迁移部分为 c905dee62232
上游修复e3f33b0a1d89 "ipv4: free inet_opt and ireq_opt after an RCU grace period"(Eric Dumazet),位于 7.3-rc7
稳定版修复5.10.272、5.15.223、6.1.190、6.6.159、6.12.113、6.18.56、7.2.10
报告者Xinyang Ge
严重性CNA:9.8(AC:L)。Red Hat:8.1(AC:H,因竞态所致),无可用缓解措施。Ubuntu:High
Debianbookworm 在 6.1.190-1 中修复,trixie 在 6.12.113-1 中修复,forky 为 7.2.12-1
Ubuntu各发行版修复进行中,尚未发布
Red Hat未发布受影响产品表或勘误

稳定版版本已于 2026-10-29 对照 kernel.org 的 ChangeLog-* 文件进行核查。在每个分支中,所列版本是首个包含该修复的版本,其前一个版本则不含该修复。主线版本通过比较标签进行核查:7.3-rc6 不含该提交,而 7.3-rc7 包含。没有修复记录的分支系列(4.x、5.4、6.2–6.5、6.7–6.11、6.13–6.17、6.19、7.0、7.1)已停止维护,报告为存在漏洞。发行版状态截至同一日期。

该缺陷需要一个监听 TCP 套接字和一个携带 IP 选项的 SYN,以及两个 CPU 之间一次失败的竞态。脚本无法判断你的网络使这些选项的可达程度,因此它只报告能看到的内容(监听器),其余留给你判断。

此脚本的功能

它仅进行初步排查,不做任何更改。它从不加载模块,从不打开套接字,从不触碰 sysctl 或防火墙规则,也从不运行 PoC,因此可在生产环境中安全运行。

  • 清点正在运行的内核、发行版以及正在运行内核的软件包。
  • 修复检测不会过时: 它在正在运行内核软件包的变更日志(changelog.Debian.gz 或 rpm -q --changelog)中搜索 CVE ID 或上游提交主题。在那里找到的修复始终优先。
  • 使用发行版修复矩阵(Debian、Ubuntu、RHEL 系列、Proxmox、Oracle UEK)以及针对跟随上游的内核(Arch 系列、Fedora、WSL2、vanilla)的已验证上游阈值。
  • 从 /proc/net/tcp 和 /proc/net/tcp6 枚举此网络命名空间的 TCP 监听器:
    • external:任意非环回地址上的 IPv4 监听器,或 IPv6 通配监听器,后者会接收 IPv4 SYN,除非 net.ipv6.bindv6only=1;
    • 仅环回:每个本地用户都可访问,本地用户可以在自己的连接上设置 IP 选项;
    • 同一端口出现在多个地址上只计一次。
  • 读取 net.ipv4.tcp_migrate_req 并记录容器运行时,其发布的端口和私有网络命名空间无法被看到。它们计为暴露面。
  • 在内核日志中搜索 oops 行,这些行会提及该漏洞调用链中的函数。命中是值得阅读的线索,而非证据,且干净的利用不会留下任何痕迹。
  • 计算风险评分并打印判定结果,以及使用 --json 输出的 JSON。

矩阵新鲜度

发行版行是快照(2026-10-29)。厂商会在其后发布修复,因此旧副本可能会对早已修补的内核报告“修复进行中”。报告会打印快照年龄,并在超过 14 天时警告一次。该警告从不改变判定结果,且变更日志检查和上游阈值不会过时。使用 --quiet 时,仅当过时才会出现第二行 NOTE:,因此解析第 1 行的解析器不受影响。JSON 包含 matrix_date、matrix_age_days 和 matrix_stale。

当它发出警告时,请拉取此脚本的最新版本。

判定结果

判定含义退出码
PATCHED在变更日志或上游/厂商表中找到修复0
NOT_APPLICABLE内核早于 4.40
MITIGATED未修复,但当前没有可通过 IPv4 访问的 TCP 监听器。仍需修补:启动任何服务都会重新打开它1
VULNERABLE未修复且至少有一个监听器(或 /proc/net/tcp 不可读,或存在容器运行时)2
UNKNOWN无法判断,例如没有变更日志且没有矩阵行3
ERROR选项错误或缺少工具4

MITIGATED 故意很少见:几乎每台服务器都在监听某些东西。本地用户还可以在私有用户+网络命名空间中运行监听器;该途径会在报告中注明但不计入,因为其可利用性未经验证。

处理了两种简单版本比较会出错的情况:

  • Proxmox VE 报告 ID=debian,但运行自己的 proxmox-kernel-* 系列。Debian 的下限不适用,因此它只能通过变更日志命中来清除。
  • WSL2 在发行版用户空间下运行微软的内核(...-microsoft-standard-WSL2)。发行版的规则不适用;上游表适用。从 Windows 使用 wsl --update 更新它。

用法

sudo ./cve-2026-98432-audit.sh            # text report
./cve-2026-98432-audit.sh --json          # JSON on stdout
./cve-2026-98432-audit.sh --quiet         # one line, exit code carries the verdict
./cve-2026-98432-audit.sh --since 2026-09-01 --no-hunt

它无需 root 权限即可运行,但此时 journal 搜索和部分软件包查询可能为空。真实报告示例见 examples/。

应对措施

更新内核并重启。没有能在运行时修复该问题的开关,Red Hat 也未列出任何缓解措施。在此之前,你可以降低暴露面:

  • 限制可访问你监听器的人员(防火墙、安全组、VPN)。攻击始于攻击者发出的 SYN,因此在到达监听器之前被丢弃的数据包永远不会到达监听器。
  • 停止你不需要的监听器。
  • 保持 net.ipv4.tcp_migrate_req=0(默认值)。这仅能关闭迁移竞态。
  • 容器共享宿主机内核,因此应修补宿主机,而不是镜像。

测试

bash tests/run_tests.sh      # 95 cases, run as a normal user

每个用例都会以子进程方式运行脚本,针对模拟二进制文件和每个用例独立的 fixture 目录树(包括 /proc/net/tcp 行)进行测试。测试框架会断言使用的是模拟内核,因此通过 PATH 绕过无法让测试在不知不觉中审计真实机器。每个与判定结果相关的分支都经过了变异测试:在副本上破坏该分支会使测试失败。

同类审计

copyfail-audit、dirtyfrag-audit、cve-2026-46331-audit、linux-pagecache-cve-audit、cve-2026-99999-audit、php2shell-audit。退出码遵循 cve-2026-99999-audit 的约定(1 = MITIGATED,2 = VULNERABLE)。

许可证

MIT

下载工具