Linux TCP握手释放后使用漏洞CVE-2026-98432:修复与缓解建议

2026年10月,Linux内核修复了一个位于IPv4 TCP握手过程中的释放后使用(use-after-free)漏洞,编号CVE-2026-98432,CVSS 3.1评分为9.8(Critical)。该漏洞允许远程未认证攻击者在内核处理TCP握手时触发内存错误,可能导致内核堆内存泄露、内存破坏或系统崩溃,Red Hat更指出可能实现远程代码执行。上游稳定内核已于10月11日至15日陆续发布修复版本,但截至10月31日,Ubuntu和Red Hat Enterprise Linux(RHEL)尚未提供修复内核,而AlmaLinux的修复内核仍在测试仓库中。对于运行受影响内核的服务器——尤其是暴露在公网并接受IPv4 TCP连接的Linux主机——这是一个需要立即评估并制定应对计划的高危漏洞。

背景:漏洞位置与触发条件

根据来源资料,该漏洞存在于Linux内核的IPv4 TCP握手处理路径中。当服务器接受TCP连接时,内核会为半开握手维护一个轻量级的“请求套接字”(request socket),待握手完成后创建完整套接字。如果连接对端的IPv4头部携带选项,内核会保存这些选项以便在回复中回显。问题在于:内核将这些保存的选项从请求套接字传递给新连接时没有进行复制,随后在连接结束时立即释放它们,而另一个CPU可能仍在读取这些内存以构建握手回复。读取已释放的内核内存即构成释放后使用漏洞。

来源资料指出,攻击者无需任何登录凭据,漏洞路径在应用程序代码运行之前的内核握手处理阶段即被触发。内核CNA的评分说明称,陈旧数据可能导致内核堆内容泄露给远程对端、引导内核越界写入或使机器崩溃。Red Hat的公告则称远程未认证攻击者“可利用TCP连接请求处理过程中的竞争条件触发远程代码执行”。Anthropic的研究人员报告了该漏洞,并称其Claude模型编写了可用的概念验证利用程序,但未公开发布。

核心变化:修复版本与分发状态

上游修复由Eric Dumazet提交,提交信息为“ipv4: free inet_opt and ireq_opt after an RCU grace period”,将两处普通的kfree()调用改为kfree_rcu(),即等待所有读取者完成后再释放内存。该修复还覆盖了请求套接字迁移场景(net.ipv4.tcp_migrate_req=1或BPF_SK_REUSEPORT_SELECT_OR_MIGRATE程序),并指出一个相关的IPv6问题“将在单独的补丁中处理”。来源资料称该漏洞影响Linux 4.4及以上版本。

上游修复版本包括:7.2.10和6.18.56(10月11日),6.12.113、6.6.159、6.1.190、5.15.223和5.10.272(10月15日),以及7.3(10月18日)。4.4至5.4的上游分支已结束生命周期,不再获得上游修复。

发行版方面,截至2026年10月31日17:15 CDT,各发行版状态如下(来源资料):

  • Ubuntu:跟踪器将所有发行版的linux包列为“Vulnerable”,多个版本标注修复“work in progress”,尚未发布Ubuntu Security Notice。
  • Red Hat:10月30日将评级从Important(8.1)提升至Critical(9.8),RHEL 8、9、10及OpenShift Container Platform 4和5列为受影响且无修复;RHEL 6和7不受影响。公告RHSB-2026-016称正在加速发布修复,并提供了nftables缓解规则。
  • AlmaLinux:8、9、10的修复内核自10月30日起在测试仓库中,待社区测试后移入生产。
  • Debian:12“bookworm”、13“trixie”及unstable已修复。
  • SUSE:SUSE Linux Enterprise Server 16.0及15 SP4、SP5、SP6 LTSS内核已修复,15 SP7进行中;openSUSE Leap 16.0已修复,Leap 15.6列为受影响。
  • Oracle Linux:UEK内核勘误已于10月16日发布,覆盖Oracle Linux 7至10。
  • Amazon Linux:所有内核已修复,包括Amazon Linux 2023和Amazon Linux 2的多个内核包。

值得注意的是,容器共享宿主机内核,因此更新容器镜像并不能修复该漏洞;必须更新宿主机内核并重启。Kubernetes节点、负载均衡器、Web服务器、SSH服务和数据库等接受IPv4 TCP连接的主机均可能暴露。

影响分析:为何需要优先处理

从编辑视角看,该漏洞的严重性体现在几个方面。首先,触发路径位于内核网络栈的通用握手处理中,几乎影响所有接受IPv4 TCP连接的Linux服务器,攻击面极广。其次,远程未认证即可触发,且发生在应用层认证之前,传统基于应用的访问控制无法阻断。第三,竞争条件意味着攻击者可以反复重试直至成功,来源资料引述Anthropic称失败的竞争“只会导致握手失败而不会使整个系统崩溃,因此有决心的攻击者可以无限重试”。

另一个值得关注的因素是多路径TCP(MPTCP)。Anthropic称其可用利用程序针对“启用了MPTCP监听器的Linux服务器”。Go安全团队表示,自Go 1.24起,Go程序在Linux上默认对监听套接字启用MPTCP(取决于程序go.mod中的go行,且需内核允许MPTCP,即net.mptcp.enabled=1)。这意味着使用较新Go版本构建的服务可能无意中打开了MPTCP监听器,扩大了潜在受影响面。不过Go团队也指出,底层缺陷并非MPTCP特有,没有MPTCP监听器的系统也可能受到类似攻击。

需要明确的是,上述利用细节来自来源资料引述的Anthropic和Go安全团队声明,本文未独立验证;来源未说明利用程序的具体技术细节,也未提供公开的可复现步骤。

行动建议:检查、修复与临时缓解

1. 确认内核版本与重启状态

在宿主机(而非容器内)运行uname -r查看运行内核,使用uname -v(Debian)或rpm -q kernel(RHEL系)查看已安装内核包,并用needs-restarting -r(RHEL,需dnf-utils)检查是否需要重启。关键是:如果已安装内核比运行内核新,修复尚未生效,必须重启进入新内核。请以发行版跟踪器为准,而非直接对比上游版本号。

2. 检查MPTCP监听器

使用ss -Mlnp列出MPTCP监听套接字及其所属进程;sysctl net.mptcp.enabled返回1表示应用程序可以打开MPTCP套接字,但仅此并不代表已有监听器。来源资料称,在Debian 12容器中测试时,ss -Mlnp能列出测试MPTCP监听器并跳过普通TCP监听器;10月31日还列出了go.mod声明go 1.24的Go HTTP服务器,而go 1.23构建的同一服务器未被列出。建议将存在MPTCP监听器的主机排在补丁列表最前面。

3. 优先安装发行版修复内核并重启

Debian、SUSE、Oracle Linux UEK和Amazon Linux已提供修复;AlmaLinux修复在测试仓库;Ubuntu和RHEL截至10月31日尚未发布。对于自编译内核,应迁移到对应分支的修复稳定版。内核更新必须重启才能生效,容器宿主机和Kubernetes节点同样需要重启。

4. 无法立即修补时的临时缓解

来源资料提供了若干临时措施,但强调这些措施不能替代内核修复:

  • 丢弃携带IPv4选项的TCP报文:Red Hat和AlmaLinux发布了nftables规则,Atlas也给出了基于ip hdrlength gt 5的nftables规则,在prerouting钩子丢弃头部长度超过20字节的TCP报文。Red Hat称该规则“降低暴露程度但不能完全防止漏洞”。来源资料称TCP流量几乎不会合法携带IPv4选项,因此丢弃成本较低。对于使用iptables的环境,可使用raw表的u32匹配规则,但RHEL 9和10内核未包含xt_u32模块,应改用nftables规则。
  • 关闭未使用的MPTCP:通过sysctl设置net.mptcp.enabled=0并重启相关服务,可移除Anthropic利用程序所需的环境,但不修复漏洞。该设置按网络命名空间生效,容器需单独设置(Docker可使用--sysctl net.mptcp.enabled=0)。对单个Go程序,可设置GODEBUG=multipathtcp=0,但Go安全团队认为逐程序禁用是“脆弱的缓解措施”。
  • 网络隔离:在无法修补前,避免将MPTCP监听器暴露于互联网。

来源资料特别提醒,容器之间的桥接流量可能绕过prerouting规则,依赖CIPSO安全标签的网络也不应使用该规则。上述规则和测试结果均来自来源资料,本文未独立复现,读者应在自己的环境中验证后再部署。

5. 持续跟踪

关注Ubuntu和RHEL的跟踪器及安全公告,待修复内核发布后尽快安排变更窗口。对于托管在云上的实例,还需关注云厂商镜像和托管Kubernetes服务的更新节奏。

资料来源

本文由自动化系统筛选公开技术信息,并经 AI 辅助整理。

本文转载自 atlasum.net,版权归原作者所有。

原文链接:https://atlasum.net/blog/cve-2026-98432-linux-ipv4-tcp-uaf

抓取时间:2026年11月1日

本文采用 original 索引策略。