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.1sudo dnf update -y kernel# TencentOS Server 3.3sudo dnf update -y kernel# TencentOS Server 4sudo 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_98432sudo 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,可先通过官方软件源安装。