漏洞概述 | |||
漏洞名称 | Linux Kernel IPv4 TCP 释放后重用漏洞 | ||
漏洞编号 | QVD-2026-85969,CVE-2026-98432 | ||
公开时间 | 2026-10-15 | 影响量级 | 百万级 |
奇安信评级 | 高危 | CVSS 3.1分数 | 9.8 |
威胁类型 | 代码执行、权限提升 | 利用可能性 | 高 |
POC状态 | 已公开 | 在野利用状态 | 未发现 |
EXP状态 | 未公开 | 技术细节状态 | 已公开 |
危害描述:攻击者可利用该漏洞通过网络触发内核内存损坏、信息泄露(绕过 KASLR)、拒绝服务,或在特定条件下(如 MPTCP 监听器)实现远程任意代码执行并获取 root 权限。 | |||
01
漏洞详情
>>>>
影响组件
Linux 内核是一款开源的类 Unix 操作系统内核,是绝大多数 Linux 发行版的底层核心基础组件。内核负责管理系统硬件资源,实现进程调度、内存管理、文件系统、信号与定时器、设备驱动等核心基础能力。它为上层用户态程序提供系统调用接口,支撑应用程序运行,广泛部署在服务器、云容器、嵌入式设备以及 Android 移动终端当中。POSIX 定时器是内核提供给应用层的标准定时器接口,支持按线程 CPU 时间触发定时事件,供多线程业务程序使用。
>>>>
漏洞描述
近日,奇安信CERT监测到官方修复Linux Kernel IPv4 TCP 释放后重用漏洞(CVE-2026-98432),该漏洞源于 IPv4 TCP 握手处理中的竞态条件:tcp_v4_syn_recv_sock() 将请求套接字的 ireq->ireq_opt(IP 选项结构)所有权直接转移给子套接字的 inet_opt 而未复制,且未清除原指针。自 commit 079096f103fa 起,请求套接字无需持有监听锁即可处理,允许另一 CPU 并发处理重传 SYN 并通过 tcp_check_req() 构建 SYNACK。子套接字在 inet_sock_destruct() 中以普通 kfree() 释放 inet_opt,导致 ip_options_build() 中发生释放后重用。攻击者可利用该漏洞通过网络触发内核内存损坏、信息泄露(绕过 KASLR)、拒绝服务,或在特定条件下(如 MPTCP 监听器)实现远程任意代码执行并获取 root 权限。鉴于该漏洞可被未认证攻击者远程利用并取得内核最高权限,且利用链、复现数据与生态影响面均已公开,建议客户立即开展资产排查,尽快完成内核升级与暴露面收敛。
>>>>
利用条件
1. 目标为受影响版本 Linux 内核并对外提供 TCP 服务(服务器、云主机、容器宿主、嵌入式与 Android 设备均适用);
2. 远程利用要求目标存在 MPTCP 监听(或 Go 1.24 及以上默认启用 MPTCP 的监听程序),且握手报文可携带 IPv4 选项;
3. 本地或同网段攻击者可自行构造带 IP 选项的握手报文,无需任何凭据与用户交互;
4. 若启用 tcp_migrate_req 或存在 BPF reuseport 迁移程序,第二条路径可将利用面扩大至普通 IPv4 监听;
5. 利用失败通常仅表现为握手异常或内核 oops/panic,攻击者可反复重试。
02
影响范围
>>>>
影响版本
Linux 内核 4.4 及之后版本(引入提交 079096f103fa),直至各分支修复版本:5.10.272、5.15.223、6.1.190、6.6.159、6.12.113、6.18.56、7.2.10、7.3。4.4/4.9/4.14/4.19/5.4 等已停止维护分支需依赖发行版或商业支持回移。具体影响版本如下:
Linux Kernel 5.10.* < 5.10.272
Linux Kernel 5.15.* < 5.15.223
Linux Kernel 6.1.* < 6.1.190
Linux Kernel 6.6.* < 6.6.159
Linux Kernel 6.12.* < 6.12.113
Linux Kernel 6.18.* < 6.18.56
Linux Kernel 7.2.* < 7.2.10
Linux Kernel 7.3-rc < 7.3-rc7
>>>>
其他受影响组件
MPTCP 监听套接字;Go 1.24 及以上默认启用 MPTCP 的监听程序。IPv6 不受第一条路径影响(tcp_v6_syn_recv_sock 会复制选项),但 tcp_v6_reqsk_destructor 存在同类迁移缺陷(ipv6_opt,仅 CALIPSO 场景),将由独立补丁修复。
03
处置建议
>>>>
安全更新
官方已于 2026 年 10 月 15 日在各受支持的稳定分支发布修复,建议尽快将 Linux 内核升级至以下版本:
Linux Kernel 5.10.* >= 5.10.272
Linux Kernel 5.15.* >= 5.15.223
Linux Kernel 6.1.* >= 6.1.190
Linux Kernel 6.6.* >= 6.6.159
Linux Kernel 6.12.* >= 6.12.113
Linux Kernel 6.18.* >= 6.18.56
Linux Kernel 7.2.* >= 7.2.10
Linux Kernel 7.3.*(7.3 及后续主线版本已包含修复)
修复要点:将 net/ipv4/af_inet.c 中 inet_sock_destruct() 与 net/ipv4/tcp_ipv4.c 中 tcp_v4_reqsk_destructor() 的 kfree() 改为 kfree_rcu(..., rcu),使选项对象在 RCU 宽限期结束后再归还内存(上游提交 e3f33b0a1d89,作者 Eric Dumazet,共改动 2 行)。
发行版进展(截至 2026 年 10 月 29 日):Debian 12、13 与 unstable 已分别以 6.1.190-1、6.12.113-1、7.2.13-1 修复;Amazon Linux 2023 的 kernel6.12 与 kernel6.18 已修复、主 kernel 包待发布;Ubuntu(20.04–26.10)与 RHEL 仍处于修复流程中,评级分别为 High 与 Important,请以厂商安全公告及 CVE 跟踪页面为准。Android 设备需等待 Google、SoC 与 ODM 厂商的安全补丁,请关注月度安全公告。云主机镜像使用独立内核包(如 linux-image-aws/azure/gcp),修复可能滞后于通用内核,请分别核查。
补丁下载地址:
https://git.kernel.org/stable/c/e3f33b0a1d89d738e2b913dab519226eaf76e15b
临时缓解措施:
在无法立即升级时,可采取以下措施降低风险,但不能替代补丁:
1.关闭 MPTCP:sysctl -w net.mptcp.enabled=0;Go 程序可设置环境变量 GODEBUG=multipathtcp=0,或在 main 模块 go.mod 中加入 godebug multipathtcp=0,或改用 net.ListenConfig.SetMultipathTCP(false);
2.执行 sysctl -w net.ipv4.tcp_migrate_req=0,并用 bpftool prog list 排查、移除 sk_reuseport 类型的 BPF 迁移程序,以关闭第二条路径;
3.清理不必要的 setsockopt(IP_OPTIONS) 用法,并在边界设备上评估丢弃携带 IP 选项的 SYN 报文(部分网络设备与中间盒会主动添加 IP 选项,需先做业务验证);
4.收敛暴露面:对非必要对外开放的 TCP 服务实施访问控制,优先保护 Web、SSH、数据库与代理等互联网可达服务。
04
参考资料
[1]https://git.kernel.org/stable/c/e3f33b0a1d89d738e2b913dab519226eaf76e15b
[2]https://www.anthropic.com/research/discovering-vulnerabilities-with-claude
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。