Hacker News Best

TCP Use-After-Free: CVE-2026-98432 / CVSS 9.8

8.5内容质量

TL;DR · AI 摘要

Linux内核存在严重TCP Use-After-Free漏洞(CVE-2026-98432),CVSS 9.8,影响广泛且修复不完全。

核心要点

  • Ubuntu所有版本和RHEL 8/9/10截至2026年10月31日仍未修复该漏洞
  • Anthropic的Claude模型已生成可远程提权的PoC利用代码
  • 修复版本包括5.10.272、6.1.190等,但主流发行版补丁尚未覆盖

结构提纲

按章节快速跳转。

  1. 披露Linux内核TCP握手阶段存在Use-After-Free漏洞,CVSS 9.8评分。

  2. 漏洞源于IPv4选项数据在RCU grace period后被释放的竞态条件。

  3. 所有4.4+内核版本均受影响,包括容器宿主机和云服务实例。

  4. 上游已提交4行补丁,但主流发行版补丁覆盖率不足。

  5. Red Hat已评级为Critical,Ubuntu所有版本仍标记为Vulnerable。

  6. Anthropic证实Claude可生成无需凭证的root提权利用代码。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Linux TCP Use-After-Free漏洞
    • 漏洞详情
      • CVSS 9.8评分
      • Use-After-Free机制
    • 影响范围
      • 4.4+所有内核版本
      • 容器宿主机影响
    • 修复状态
      • 上游已修复
      • Ubuntu/RHEL未覆盖

金句 / Highlights

值得收藏与分享的关键句。

#Linux内核#安全漏洞#CVE#CVSS评分
打开原文

Linux 2026 年 10 月 TCP 使用后释放漏洞:CVE-2026-98432 — Atlas

# 概述

Linux 的稳定内核于 2026 年 10 月 11 日和 15 日发布了针对 CVE-2026-98432 的修复程序,该漏洞是 IPv4 TCP 握手过程中的使用后释放漏洞,远程未认证对等端可利用。内核自身的 CVE 编号机构(CNA)将其 CVSS 3.1 评分为 9.8,属于严重级别。修复版本包括 5.10.272、5.15.223、6.1.190、6.6.159、6.12.113、6.18.56、7.2.10 和 7.3,该漏洞可追溯至 Linux 4.4 版本。上游修复仅涉及四行代码更改,但大多数服务器运行的是发行版内核。截至 2026 年 10 月 31 日下午 5:15,Ubuntu 的跟踪器仍显示其所有版本内核“易受攻击”,而 Red Hat 现在也将该漏洞评为严重级别,指出 RHEL 8、9 和 10 版本受影响且尚未修复。

紧迫性原因:该漏洞存在于所有 Linux 服务器接受 IPv4 TCP 连接时运行的代码中,且在任何应用程序看到连接之前。Anthropic 的研究人员报告了该漏洞,其 Claude 模型编写了一个可行的概念验证利用程序,可在“具有多路径 TCP 监听器的 Linux 服务器”上以 root 权限执行命令,无需凭据。根据 Go 安全团队的说明,默认情况下 Go 程序会打开这些监听器。详见时间线。

# 关键事实

| 字段 | 详情 | |------|------| | CVE | CVE-2026-98432,"ipv4: free inet_opt and ireq_opt after an RCU grace period",由 Linux 内核 CNA 发布 | | 严重性 | 严重,CVSS 3.1 9.8(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H),内核 CNA 的评分。Red Hat 同样评为严重,CVSS 3.1 9.8,于 10 月 30 日从重要(8.1)升级。SUSE 评为重要,Ubuntu 评为高风险,Oracle 和 Amazon 评为重要,CVSS 3.1 8.1。 | | 弱点 | TCP 握手期间 IPv4 选项数据的使用后释放(记录中未列出 CWE) | | 影响 | 根据 CNA 的评分说明:远程对等端可获取内核堆内容、导致内核内存损坏或崩溃。Red Hat 的公告:远程未认证攻击者“可利用 TCP 连接请求处理中的竞态条件触发远程代码执行”。 | | 修复版本 | 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 日) | | 尚未修复 | 截至 2026 年 10 月 31 日下午 5:15,Ubuntu(所有版本)和 Red Hat Enterprise Linux(RHEL)8、9、10。AlmaLinux 的修复内核仍在测试中。上游分支若在 5.10 之前已结束生命周期则无修复。 | | 概念验证 | Anthropic 表示其 Claude 为具有多路径 TCP 监听器的服务器构建了远程 root 利用程序。该利用程序尚未公开。 | | CVE 记录 | 10 月 15 日发布于 cve.org。NVD 截至 2026 年 10 月 31 日下午 5:15 仍标记为“已接收”,未进行分析。 | | 致谢 | 由 Anthropic 的 Xinyang Ge 报告。修复由 Eric Dumazet 完成,经 Kuniyuki Iwashima 审核,详见修复提交。 |

# 受影响对象

任何未修复且版本不低于 4.4 的 Linux 内核均受影响,无论其是否直接提供网络服务或托管容器:容器运行在主机的内核上,因此新镜像不会改变任何内容。IPv6 连接不受主要问题影响;提交信息中说明“IPv6 不受第一个问题影响”。

| 发布版本 | 2026 年 10 月 31 日状态 | |----------|------------------------| | 7.3 | 已发布 | | 主分支(从 7.3-rc7) | 2026 年 10 月 18 日 | | 7.2 | 稳定版 | | 7.2.10 | 2026 年 10 月 11 日 | | 6.18 | 长期支持版 | | 6.18.56 | 6.12 | | 6.12.113 | 2026 年 10 月 15 日 | | 6.6 | 6.6.159 | | 6.1 | 6.1.190 | | 5.15 | 5.15.223 | | 5.10 | 5.10.272 | | 4.4 – 5.4 | 上游已结束生命周期,仅发行版修复 |

# 发行版状态

—

Distribution kernels carry backported fixes under their own version numbers, so check the tracker, not the upstream number. As of 5:15 PM CDT, October 31:

  • Ubuntu: the tracker lists the linux package as "Vulnerable" on every release. On 26.10, 26.04, 24.04, and 22.04 it adds "work in progress" in 7.3.0-10.10 , 7.0.0-43.43 , 6.8.0-149.149 , and 5.15.0-203.213 ; 20.04, 18.04, and 16.04 show only "Vulnerable." Many cloud and hardware-enablement kernels are listed the same way, and no Ubuntu Security Notice has been published.
  • Red Hat: rated Critical, CVSS 3.1 9.8, since October 30. RHEL 8, 9, and 10 and OpenShift Container Platform 4 and 5 are listed as affected, with no fix; RHEL 6 and 7 aren't affected ( CVE page ). Its bulletin, RHSB-2026-016 , says "Red Hat is expediting the release of fixes," gives an nftables mitigation ( compared below ), and says any product that relies on the RHEL kernel, including RHEL CoreOS, "is also potentially impacted."
  • AlmaLinux: fixed kernels for AlmaLinux 8, 9, and 10 ( kernel-4.18.0-553.180.2.el8_10 , kernel-5.14.0-687.61.2.el9_8 , and kernel-6.12.0-211.69.2.el10_2 ) have been in its testing repository since October 30, ahead of RHEL. AlmaLinux will move them to production after community testing, and its errata don't list them yet ( announcement ).
  • Debian: fixed in 12 "bookworm" ( 6.1.190-1 , DLA-4841-1, and linux-6.12 6.12.113-1~deb12u1 , DLA-4850-1), 13 "trixie" ( 6.12.113-1 , DSA-6568-1), and unstable ( tracker ).
  • SUSE: rated important. SUSE Linux Enterprise Server 16.0 ( kernel-default 6.12.0-160000.40.1 ) and the 15 SP4, SP5, and SP6 LTSS kernels are fixed; 15 SP7 is in progress. openSUSE Leap 16.0 is fixed, and Leap 15.6 is listed as affected ( CVE page ).
  • Oracle Linux: rated Important, CVSS 3.1 8.1. Unbreakable Enterprise Kernel (UEK) errata for Oracle Linux 7, 8, 9, and 10 came out October 16: ELSA-2026-500397, ELSA-2026-500398, and ELSA-2026-500399 ( CVE page ). The page lists only the UEK kernels.
  • Amazon Linux: rated Important, CVSS 3.1 8.1, and every kernel is fixed. On Amazon Linux 2023, the default kernel (ALAS2023-2026-3365, October 30), kernel6.12 (ALAS2023-2026-3335, October 29), and kernel6.18 (ALAS2023-2026-3251, October 24). On Amazon Linux 2, the core kernel (ALAS2-2026-4065) and the 5.4, 5.10, and 5.15 Extras kernels (ALAS2KERNEL-5.4-2026-135, ALAS2KERNEL-5.10-2026-137, and ALAS2KERNEL-5.15-2026-120), all October 30 ( CVE page ).

# How the vulnerability works

When a Linux server accepts a TCP connection, the kernel tracks the half-open handshake in a lightweight "request socket," then creates a full socket once the handshake completes. If the connecting peer's IPv4 header carried options, the kernel keeps them to echo in its replies. The bug: the kernel handed those saved options from the request socket to the new connection without copying them, then freed them immediately when the connection went away, while another CPU could still be reading them to build a handshake reply. Reading freed kernel memory is a use-after-free.

The peer needs no login, and it all happens inside the kernel's handshake handling, before any application code runs. The CNA's scoring notes say the stale data can leak kernel heap memory back to the peer, steer kernel writes out of bounds, or crash the machine. Anthropic says a lost race "only fails the handshake without crashing the whole system, so a determined attacker can retry indefinitely until they succeed."

# The fix

Eric Dumazet 的提交 "ipv4: 在 RCU 宽限期后释放 inet_opt 和 ireq_opt" 将两个普通的 kfree() 调用改为 kfree_rcu(),后者会在所有读者完成内存访问后才释放内存。其他替换这些选项的代码路径已经实现了类似功能。该提交还修复了请求套接字迁移(net.ipv4.tcp_migrate_req=1 或 BPF_SK_REUSEPORT_SELECT_OR_MIGRATE 程序)中的相同问题,并指出相关 IPv6 情况“将在后续补丁中解决”。

ipv4: 在 RCU 宽限期后释放 inet_opt 和 ireq_opt torvalds/linux · e3f33b0 · 2026 年 10 月 1 日

net/ipv4/af_inet.c

+

1

−

新增行数,

删除行数

net/ipv4/tcp_ipv4.c

2

文件

修改

# 哪些服务器会暴露风险

  • 每个运行受影响内核且接受 IPv4 TCP 连接的 Linux 主机:Web 服务器、SSH、数据库、负载均衡器和 Kubernetes 节点。CNA 的说明指出,漏洞路径在“TCP 握手期间、应用认证之前”运行。
  • 首先具有多路径 TCP(MPTCP)监听器的主机。这是 Anthropic 的利用漏洞需要的配置:“具有 MPTCP 监听器的 Linux 服务器”。Anthropic 未说明该监听器的重要性,CVE 记录也未提及 MPTCP。只有当应用程序打开 MPTCP 套接字时,服务器才会拥有 MPTCP 监听器,而 Go 程序默认会启用:Go 安全团队表示“从 Go 1.24 开始,Go 程序在 Linux 上默认为监听套接字启用 MPTCP”。默认行为遵循程序 go.mod 文件中的 go 行,并且仅在内核允许 MPTCP 时生效(net.mptcp.enabled = 1,如我们检查的 Debian 12 内核;AlmaLinux 表示其默认禁用 MPTCP)。Go 团队补充称“底层漏洞不特定于 MPTCP。没有 MPTCP 监听器的系统也可能受到类似攻击。” 检查方法如下。

Red Hat 现在将其评级与 CNA 一致。10 月 30 日,它将该漏洞的严重性从 Important(8.1)提升至 Critical(9.8),理由是“缺乏网络前提条件以及可能导致严重系统不稳定”。其公告指出“接受入站 TCP 连接的系统最直接暴露风险。”

# 如何检查您的系统

# 检查内核版本

Shell

复制

code
1
uname
-
r
# 正在运行的内核版本
2
uname
-
v
# Debian:运行中的软件包版本
3
dpkg
-
l
'linux-image*'
|
grep
^
ii
# Debian/Ubuntu:已安装的内核软件包
4
rpm
-
q
kernel
# RHEL 及衍生系统:已安装的内核
5
needs-restarting
-
r
# RHEL(dnf-utils):是否需要重启?

将结果与您发行版的说明进行对比,而不是与上游版本对比。如果已安装的内核版本比正在运行的版本新,则需要重启后修复才会生效。请在容器主机和 Kubernetes 节点上运行这些命令,而不是在容器内部:容器会报告主机的内核。我们在 Debian 12 主机和 Rocky Linux 9 容器中运行了这些命令。

# 检查多路径 TCP 监听器

code
1
ss
-
Mlnp
# MPTCP 监听套接字及其所属进程
2
sysctl
net
.
mptcp
.
enabled
# 值为 1 表示应用程序可以打开 MPTCP 套接字

ss -M 仅列出 MPTCP 套接字,因此空结果表示没有 MPTCP 监听器。net.mptcp.enabled = 1 本身不会创建监听器:应用程序必须打开 MPTCP 套接字。我们在 Debian 12 容器中使用 iproute2 6.1 进行测试,其中 ss -Mlnp 列出了测试用的 MPTCP 监听器,而跳过了旁边的普通 TCP 监听器。10 月 31 日,它还列出了 go.mod 指定 go 1.24 的 Go HTTP 服务器,并跳过了使用 go 1.23 构建的相同服务器。

# 如何修复

# 更新内核并重启

安装你发行版提供的修复内核,一旦发布立即安装并重启:内核更新需要系统重启后才会生效。同时也要重启容器主机和Kubernetes节点。集成内核的设备和云镜像需要联系厂商获取更新。

在Debian、SUSE Linux Enterprise Server 16.0及15 LTSS版本、openSUSE Leap 16.0、Oracle Linux的UEK内核,以及Amazon Linux 2和2023版本中,修复版本已发布。AlmaLinux的修复版本位于其测试仓库中。截至美国中部时间10月31日17:15,Ubuntu和RHEL尚未发布修复版本。请关注上方链接的跟踪信息。如果你使用的是自编译内核,请切换到该内核系列的修复稳定版本。

# 如果暂时无法打补丁

Red Hat公告和AlmaLinux现已发布nftables规则,用于丢弃携带IP选项的入站IPv4 TCP数据包。Red Hat表示该规则"可降低漏洞暴露风险但无法完全防止攻击"。以下是Atlas的临时建议,与AlmaLinux规则相同,基于CNA评分说明(攻击方在SYN数据包中提供IPv4记录路由或时间戳选项):

code
1
nft
add
table
ip
cve_2026_98432
2
nft
add
chain
ip
cve_2026_98432
pre
'{ type filter hook prerouting priority -300; }'
3
nft
add
rule
ip
cve_2026_98432
pre
meta
l4proto
tcp
ip
hdrlength
gt
5
counter
drop

ip hdrlength gt 5匹配任何超过20字节最小长度的IPv4头部(仅由选项产生)。该规则在连接跟踪之前执行,不影响IPv6或非TCP流量。我们在Debian 12容器中测试过:成功丢弃了携带记录路由选项的SYN数据包,普通TCP连接仍能正常工作。我们尚未针对实际攻击进行测试,该规则不会修复内核漏洞。重启后规则会失效,若重启后进入修复内核则无需删除;可通过nft delete table ip cve_2026_98432删除。如果边缘防火墙能丢弃携带选项的IPv4数据包,这样可以保护后端所有主机。

如果你使用iptables管理防火墙,以下规则从raw表实现相同功能,同样在连接跟踪之前执行:

code
1
iptables
-
t
raw
-
I
PREROUTING
-
p
tcp
-
m
u32
-
-
u32
"0>>24&0xF=6:15"
-
j
DROP

u32匹配读取IPv4头部长度字段,值6-15表示包含选项。我们在Debian 12容器中使用iptables 1.8.9测试,无论是nf_tables还是传统后端均有效:成功丢弃了发送到主机和经由主机转发的记录路由SYN数据包,普通TCP连接仍能正常工作。通过将-I替换为-D可删除规则;与nft规则一样,重启后失效。需要内核的xt_u32模块,该模块包含在Debian 12、Ubuntu 22.04和24.04以及RHEL 8内核中。RHEL 9和10内核及其衍生版本未包含该模块,因此在这些系统中应使用nft规则。

Red Hat的规则挂钩input链,而我们的规则挂钩prerouting链,因此也能丢弃主机路由到容器的数据包。10月31日我们测试了两组网络命名空间:成功丢弃了在一组命名空间间传输的记录路由SYN数据包,另一组命名空间间未检测到此类数据包(如AlmaLinux警告的"同一主机上的容器间通信可能绕过该规则")。AlmaLinux还提醒不要在依赖CIPSO安全标签的网络中使用该规则(CIPSO标签通过IPv4选项传输)。

关闭未使用的多路径 TCP(MPTCP)。这会移除 Anthropic 漏洞利用所需的配置,但不会修复漏洞本身。AlmaLinux 的操作步骤如下:

code
1
echo
'net.mptcp.enabled = 0'
|
sudo
tee
/
etc
/
sysctl
.
d
/
9
0
-
disable-mptcp
.
conf
2
sudo
sysctl
-
w
net
.
mptcp
.
enabled
=
0
3
sudo
ss
-
Mlnp
# 之前创建的监听器仍会保持 MPTCP 状态:重启对应服务

此后新创建的 MPTCP 套接字将失败,Go 程序在启动时会回退到普通 TCP。该设置基于网络命名空间,每个新命名空间默认开启 MPTCP,因此容器会继承此设置,除非在容器中也设置(Docker:--sysctl net.mptcp.enabled=0)。我们在 10 月 31 日测试了上述步骤和 Docker 参数。对于单个 Go 程序,通过在其环境变量中设置 GODEBUG=multipathtcp=0 可关闭默认行为,但 Go 安全团队认为逐个程序禁用 MPTCP 是“脆弱的缓解措施”。

在补丁发布前,请确保互联网上没有暴露 MPTCP 监听器,并将存在该监听器的主机优先列入补丁更新名单。

# 时间线与利用状态

所有时间均为 CDT(UTC−5)。

| 时间 | 事件 | |------|------| | 10月1日 · 下午5:12 | Eric Dumazet 发布修复方案,将 Xinyang Ge(Anthropic)列为报告者 | | 10月5日 | 修复方案合并到内核网络代码库 | | 10月11日 | Linux 7.2.10 和 6.18.56 发布修复版本;7.3-rc7 当晚发布 | | 10月15日 · 凌晨4:56–7:16 | Linux 6.12.113、6.6.159、6.1.190、5.15.223 和 5.10.272 发布修复版本;CVE 记录于上午7:08 发布 | | 10月16日 | Oracle 为 Oracle Linux 7 至 10 发布包含修复的 UEK 补丁 | | 10月18日 | Linux 7.3 发布修复版本 | | 10月24日 | Amazon Linux 2023 的 kernel6.18 包修复完成 | | 10月27日 | Anthropic 的 Frontier Red Team 描述了由 Claude 在实验室构建的远程 root 利用方案 | | 10月29日 · 下午6:34 | Go 安全团队表示自 Go 1.24 起 Go 程序默认开启 MPTCP 监听器 | | 10月29日 | Ubuntu 仍标记其内核为易受攻击;Amazon Linux 2023 的 kernel6.12 包修复完成;出现引用 CVE 的 GitHub 仓库,其中有一个于下午7:22 创建并描述了竞态触发方法 | | 10月30日 | AlmaLinux 将修复后的内核放入测试仓库;Red Hat 将严重性提升为 Critical 并发布缓解方案 RHSB-2026-016;Amazon Linux 修复剩余内核 | | 10月31日 | 36 个 GitHub 仓库引用该 CVE,其中至少 6 个描述了竞态触发方法或概念验证

利用状态。Anthropic表示Claude在初始提示后编写了该漏洞利用程序,该漏洞可以在运行多路径TCP监听器的服务器上“以root权限执行任意命令,无需任何凭证或用户交互”,其概念验证显示“需要48分钟泄露内核指针,再花费5分钟到达shell命令执行”。Anthropic尚未公开该漏洞利用代码。其披露政策规定开发者有90天时间进行补丁修复,并在进一步的45天后才会讨论超出公开公告范围的细节。Red Hat的公告现在称该漏洞“可能被利用以触发远程代码执行”。截至美国中部时间10月31日17:15,已有36个GitHub仓库引用了该CVE编号。其中大多数描述为审计或缓解工具,包括Ansible角色以及针对AlmaLinux和Rocky Linux的热补丁。至少有六个仓库声称包含竞态触发器或该使用后释放漏洞的概念验证;首个相关仓库创建于10月29日19:22,最新仓库创建于10月31日11:04。截至17:15中部时间,该CVE尚未被列入CISA已知被利用漏洞目录。我们尚未测试任何公开的概念验证代码,也未对这些代码进行链接。

# 本文更新记录

当出现以下任一变化时,我们将修订本文并标注更新:Ubuntu或Red Hat的修复内核、AlmaLinux的生产版本发布;NVD的分析;KEV列表或任何利用报告;单独的IPv6修复。

  • 10月31日17:15中部时间:Red Hat于10月30日将其评级从重要(8.1)提升至关键(9.8),并发布了缓解方案RHSB-2026-016,因此我们替换了之前的评级和“无缓解方案”声明。新增Go安全团队的声明指出Go程序默认开启MPTCP监听器,AlmaLinux测试阶段的修复内核,Amazon Linux剩余内核的修复方案,openSUSE Leap 16.0的修复方案,关闭MPTCP的步骤,iptables版本的临时规则,以及临时规则对桥接容器流量和CIPSO的限制。目前有36个GitHub仓库引用该CVE。Ubuntu、Debian、Oracle、NVD状态和KEV保持不变,10月30日发布的稳定内核未包含IPv6后续修复。
  • 10月29日20:00中部时间:新增Oracle Linux自10月16日起在UEK内核中修复,以及Amazon Linux在Amazon Linux 2023的6.12和6.18内核中修复并在其他位置待修复的信息。目前有8个GitHub仓库引用该CVE,其中1个描述了竞态触发器。自11:00起,Ubuntu、Red Hat、Debian、SUSE、NVD和KEV均未发生变化,且未进行任何更正。

# 获取帮助

如果困难之处在于确定哪些主机、节点和设备运行了哪些内核,以及其中哪些设备本周可以重启,我们的顾问可以帮助制定计划。

Atlas服务

Atlas技术咨询

安全审计、代码审查和DevOps工作的高级顾问——提供无预付费用的2小时发现服务块,并提供24小时响应服务等级协议。

该漏洞可通过任何监听的TCP端口访问,因此了解哪些端口对互联网可见会有所帮助。我们的免费外部审计会检查您验证的域名和公共IP地址所暴露的服务、已知CVE的公开可见软件版本、TLS、电子邮件安全、DNS和HTTP头信息。

免费外部安全审计

对您验证的域名和公共IP地址进行非破坏性检查,并在验证后3个工作日内提供包含所有发现结果的PDF报告,每个发现均附有排名和修复建议。

这是本月第二个需要重启后才能生效的Linux内核修复。另一个名为Fragnesia的漏洞正在与PHP2Shell链式利用以获取root权限。

# 来源

  • Linux内核:修复提交e3f33b0 · lore上的补丁 · 7.2.10、6.18.56、6.12.113、6.6.159、6.1.190、5.15.223和5.10.272版本的稳定提交 · kernel.org发布
  • CVE记录:cve.org · NVD
  • 安全通告:Red Hat RHSB-2026-016 · AlmaLinux · Go安全团队(via oss-security)· Go的multipathtcp设置
  • 发行版:Ubuntu · Red Hat · AlmaLinux补丁公告 · Debian · SUSE · Oracle Linux · Amazon Linux
  • 研究:Anthropic:使用Claude发现和利用关键现实软件中的漏洞 · Anthropic协调漏洞披露政策

标签

#

安全

网络

补丁管理

容器

A

Atlas Security

安全通告

Atlas Security专栏:分析广泛部署软件中的漏洞——变更内容、受影响方及检查方法——所有信息均经过原始来源验证。

作者信息

@

AtlasumNet