帮你快速理解、总结文档立即下载
文档中心>TencentOS Server

Linux 内核 TCP 网络栈释放后使用漏洞(CVE-2026-98432)

最近更新时间:2026-11-03 10:13:30
我的收藏
TencentOS 安全团队监测到 Linux 内核 TCP 网络栈存在释放后使用漏洞(CVE-2026-98432)。该漏洞源于内核在 TCP 请求套接字(request socket)处理路径中,inet_sock_destruct() 与 tcp_v4_reqsk_destructor() 使用普通 kfree() 释放 inet_opt / ireq_opt(IPv4 选项),未遵循 RCU 宽限期约定:另一 CPU 可能仍在 RCU 读临界区内构建 SYNACK 并读取该选项,导致 ip_options_build() 中出现释放后使用。攻击者无需认证、无需用户交互,向暴露的 TCP 端口发送携带 IPv4 选项的请求并重传即可触发,最坏情况下可导致内核信息泄露、内核内存破坏及服务器崩溃;在启用 MPTCP 监听的服务器上,外部研究团队已在实验室环境验证完整的远程代码执行利用链。
该漏洞于 2026 年 10 月 15 日公开披露,影响 TencentOS Server 2.4、 TencentOS Server 3.1、 TencentOS Server 3.3、 TencentOS Server 4 全系列产品的内核。监测到漏洞情报后,TencentOS 开发团队与安全团队第一时间对该漏洞进行分析,并完成修复。
注意:鉴于该漏洞攻击面向所有对外提供 TCP 服务的服务器、触发门槛较低,建议您根据 TencentOS 安全团队提供的方案完成风险自查,并及时修复。

1. 漏洞详情

inet_opt / ireq_opt 是 Linux 内核为 TCP 套接字维护的 IPv4 选项结构(struct ip_options_rcu),用于承载 Record Route、Timestamp 等选项。自内核 4.4(commit 079096f103fa)起,请求套接字在不持有监听器锁的情况下处理,tcp_v4_syn_recv_sock() 将请求套接字的 ireq_opt 所有权转移给子套接字而不复制。当子套接字释放时,若另一 CPU 正在为其构建 SYNACK,普通 kfree() 已立即回收该选项内存,而对方仍处于 RCU 读临界区内持有指针,随后在 ip_options_build() 中读取已释放的 opt->optlen,形成释放后使用。该缺陷在主线内核中已存在约十年。
警告:目前该漏洞的漏洞细节与 PoC 均已公开,第三方实验室已验证远程代码执行利用链可行,需要您尽快进行处理,以免出现安全事件。

2. 受影响 TencentOS Server 版本

TencentOS Server 4
TencentOS Server 3.3
TencentOS Server 3.1
TencentOS Server 2.4
说明:该漏洞攻击面向所有对外暴露 TCP 端口并提供服务的服务器(含负载均衡、网关类节点),无需认证即可触发。使用 Go 1.24 及以上版本编译的服务端程序默认对监听套接字启用 MPTCP,处于高危场景。容器用户请联系主机运维人员在宿主机上完成排查。

自查方式

确认环境内核版本是否在受影响范围内。登录待查环境并执行以下命令:
uname -r
若输出的内核版本为以下任一,则表明当前环境受影响:
5.4.*
6.6.*

3. 漏洞修复方案

TencentOS Server 已完成该漏洞的代码修补,对应内核修复版本经过充分测试验证后发布。各系统版本的修复状态如下:
系统版本
修复后内核版本
TencentOS Server 2.4
5.4.119-19.0009.67.7.tl2
TencentOS Server 3.1
5.4.119-19.0009.67.7.tl3
TencentOS Server 3.3
5.4.241-24.0017.44.3.tl3
TencentOS Server 4
6.6.117-45.19.1.tl4
各系统版本的升级命令如下:
# TencentOS Server 2.4(TK4)
sudo yum update -y kernel

# TencentOS Server 3.1
sudo dnf update -y kernel

# TencentOS Server 3.3
sudo dnf update -y kernel

# TencentOS Server 4
sudo dnf update -y kernel
注意:
完成内核更新后,请在业务变更窗口完成系统重启。重启后执行 uname -r,确认当前运行内核已切换至修复版本,方可视为内核侧修复已生效。

4. 临时缓解措施

该漏洞的触发前提是 TCP SYN 数据包携带 IPv4 选项。可通过 nftables 过滤这类数据包,阻断攻击路径。
警告:
过滤带 options 的 IPv4 SYN 数据包会影响 CIPSO(SELinux MLS 标签传输)功能及其他不常见使用场景,请业务排查后执行。
1. 以 root 用户创建过滤表与规则:
sudo nft add table ip cve_2026_98432
sudo nft add chain ip cve_2026_98432 pre '{ type filter hook prerouting priority -300; }'
sudo nft add rule ip cve_2026_98432 pre meta l4proto tcp tcp flags syn ip hdrlength gt 5 counter drop
2. 确认规则已生效:
sudo nft list table ip cve_2026_98432
输出中应包含 tcp flags syn ip hdrlength gt 5 counter drop。counter 计数持续增长,表示已有符合特征的数据包被丢弃。
3. 后续如需回滚该配置,删除过滤表即可:
sudo nft delete table ip cve_2026_98432
说明:
以上措施仅阻断经 IPv4 选项触发的攻击路径,不能替代内核升级;修复版本发布后请及时升级并按变更流程评估是否保留该规则。若环境未安装 nftables,可先通过官方软件源安装。