CVE-2026-98432:Linux内核TCP释放后重用漏洞,CVSS9.8但补丁覆盖极不均衡-C博"

admin 2026-11-01 17:46:17 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

CVE-2026-98432:Linux 内核 TCP 释放后重用漏洞,CVSS 9.8 但补丁覆盖极不均衡-C博

原创

mourenzheng
mourenzheng

网络安全民工

2026年11月1日 15:25
天津
标题已修改

去阅读

一、漏洞定性

Linux 内核 IPv4 TCP 握手处理中存在一处释放后重用(UAF)漏洞。内核将 SYN 包中携带的 IP 选项从请求               套接字 传递给新连接时未做数据复制,连接断开后立即释放内存,而另一 CPU 核心可能仍在读取该内存以构建握手回复。攻击者无需任何凭证,在 TCP 握手阶段、应用层代码执行之前即可触发。

项 值
漏洞类型 释放后重用(UAF),IPv4 TCP 握手
CVSS 3.1 9.8 (内核 CNA 评定)
利用前置 可达的 IPv4 TCP 监听器 + 携带 IP 选项的 SYN + 赢得竞争
影响起始 Linux 4.4
在野利用 未确认(截至 10 月 31 日未列入 CISA KEV)

Anthropic 披露,其        Claude      模型已针对启用了 MPTCP 监听器的服务器编写出可用的远程 root 利用程序:先花 48 分钟泄露内核指针,再用 5 分钟执行任意命令。Go 安全团队随后指出,Go 1.24 起在 Linux 上默认创建 MPTCP 监听套接字,这意味着大量 Go 服务可能在不知情的情况下具备利用前置条件。

二、发行版修复状态:这是真正的问题所在

上游修复于 10 月 11 日至 15 日陆续进入稳定版内核(5.10.272 / 5.15.223 / 6.1.190 / 6.6.159 / 6.12.113 / 6.18.56 / 7.2.10 / 7.3)。但服务器跑的是发行版内核,不是上游内核。

发行版 状态(截至 10 月 31 日) 修复版本/备注
Debian 12/13 已修复 6.1.190-1 / 6.12.113-1
Amazon Linux 2023 已修复 kernel6.18、kernel6.12、默认 kernel 均已发布
AlmaLinux 8/9/10 测试仓库 kernel-4.18.0-553.180.2 / 5.14.0-687.61.2 / 6.12.0-211.69.2
SUSE SLE 16 / 15 LTSS 部分修复 16.0 及 15 SP4-SP6 已修复;15 SP7 进行中
Oracle Linux (UEK) 已修复 10 月 16 日发布勘误
Ubuntu 全版本 未修复 22.04/24.04/26.04/26.10 标注“修复进行中”,20.04 及更早仅“易受攻击”
RHEL 8/9/10 未修复 Red Hat 已升级评级至 Critical(9.8),但无可用补丁;RHEL 6/7 不受影响

Red Hat 在 10 月 30 日将评级从 Important(8.1)紧急上调至 Critical(9.8),理由是“攻击几乎不受网络环境前提条件限制”。但同一份公告中,Red Hat 明确表示目前没有任何缓解措施能符合其产品安全标准。

三、关键判断:你的服务器到底有多危险

不是所有 Linux 服务器都同等危险。 区分两个层次:

第一层:存在 MPTCP 监听器的主机。 Anthropic 的可用利用程序以此为前置条件。检查方法:

ss -Mlnp                    # 列出所有 MPTCP 监听套接字sysctl net.mptcp.enabled    # 1 表示允许
如果 ss -Mlnp 输出为空,说明当前没有 MPTCP 监听器。但注意:Go 1.24+ 编译的程序可能已经悄悄创建了 MPTCP 监听器,go.mod 中声明 go 1.24 即触发此默认行为。

第二层:所有接受 IPv4 TCP 连接的主机。 Red Hat 通告明确指出:“任何接受入站 TCP 连接的系统都处于直接风险之中”。Anthropic 的利用程序需要 MPTCP,但漏洞本身不限于 MPTCP,Go 安全团队也强调“这一底层漏洞并非 MPTCP 专属”。

四、临时缓解:Red Hat 官方 nftables 规则

在获得发行版补丁之前,Red Hat 建议在系统内核之前丢弃所有携带 IP 选项的入站 IPv4 TCP 数据包:

# 保存为 cve-2026-98432.nfttable inet cve_2026_98432 {    chain input {        type filter hook input priority -310;        ip protocol tcp ip hdrlength > 5 counter drop    }}
# 应用sudo nft --check --file cve-2026-98432.nftsudo nft --file cve-2026-98432.nft

ip hdrlength > 5 匹配头部长度超过 20 字节最小值的 IPv4 包,即携带 IP 选项的包。合法 TCP 通信极少使用 IPv4 选项,因此对正常服务影响很小。Red Hat 同时警告:此规则“可以显著降低暴露风险,但无法提供百分之百的保护”。

若不想使用 nftables,iptables 等效规则(需 xt_u32 模块):

iptables -t raw -I PREROUTING -p tcp -m u32 --u32 \"0>>24&0xF=6:15\" -j DROP
注意:RHEL 9/10 及 Rocky/Alma 9/10 通常不包含 xt_u32 模块,应使用 nftables 规则。

五、若环境不需要 MPTCP,关闭它

这不能消除漏洞,但移除了 Anthropic 已公开利用程序的关键前置条件:

echo 'net.mptcp.enabled = 0' | sudo tee /etc/sysctl.d/90-disable-mptcp.confsudo sysctl -w net.mptcp.enabled=0sudo ss -Mlnp   # 已存在的 MPTCP 监听器需重启相关服务才会消失
Go 安全团队认为为单个程序设置 GODEBUG=multipathtcp=0 是“一种脆弱的缓解方法”,不建议依赖。

六、               Python  检测脚本(安全版)

以下脚本仅做内核版本与 MPTCP 状态检查,不发送任何利用载荷。

#!/usr/bin/env python3\"\"\"CVE-2026-98432 安全检测(无利用载荷)用法: sudo python3 cve_2026_98432_check.py\"\"\"import subprocessimport reimport sys
def run(cmd):    try:        return subprocess.check_output(cmd, shell=True, stderr=subprocess.DEVNULL, text=True).strip()    except Exception:        return \"\"
def check_kernel():    release = run(\"uname -r\")    print(f\"[*] 运行内核: {release}\")    # 上游修复版本基线(仅用于自编译内核参考,发行版内核需查发行商通告)    fixed_baselines = {        \"5.10\": (272,), \"5.15\": (223,), \"6.1\": (190,),        \"6.6\": (159,), \"6.12\": (113,), \"6.18\": (56,),        \"7.2\": (10,), \"7.3\": (0,)    }    m = re.match(r\"(\\d+)\\.(\\d+)\\.(\\d+)\", release)    if not m:        print(\"[!] 无法解析内核版本,请手动对照发行商通告\")        return    major, minor, patch = int(m.group(1)), int(m.group(2)), int(m.group(3))    key = f\"{major}.{minor}\"    if key in fixed_baselines:        fixed_minor = fixed_baselines[key][0]        if patch >= fixed_minor:            print(f\"[+] 内核版本不低于上游修复基线 {key}.{fixed_minor}(但发行版回移植需另行确认)\")        else:            print(f\"[!] 内核版本低于上游修复基线 {key}.{fixed_minor},可能受影响\")    else:        print(f\"[*] 内核分支 {key} 不在已知修复列表中,请查询发行商安全通告\")
def check_mptcp():    enabled = run(\"sysctl -n net.mptcp.enabled 2>/dev/null\")    print(f\"[*] net.mptcp.enabled = {enabled or '未知'}\")    listeners = run(\"ss -Mlnp 2>/dev/null\")    if listeners:        print(\"[!] 检测到 MPTCP 监听套接字:\")        print(listeners)    else:        print(\"[+] 当前无 MPTCP 监听套接字(但 Go 1.24+ 程序可能动态创建)\")
def check_distro():    os_release = run(\"cat /etc/os-release 2>/dev/null\")    name = re.search(r'^PRETTY_NAME=\"?([^\"\
]+)', os_release, re.M)    if name:        print(f\"[*] 发行版: {name.group(1)}\")        print(\"[!] 请对照上文发行版状态表确认是否已获得修复内核\")
if __name__ == \"__main__\":    if not sys.platform.startswith(\"linux\"):        print(\"仅支持 Linux\")        sys.exit(1)    print(\"=\" * 50)    check_distro()    check_kernel()    check_mptcp()    print(\"=\" * 50)    print(\"[*] 注意:容器内 uname -r 显示的是宿主机内核,请在宿主机执行本脚本。\")

七、Nuclei 模板(安全指纹版)

保存为 cve-2026-98432-detect.yaml。不发送溢出载荷,仅通过 SSH 或本地执行做内核指纹识别(需提供凭据或使用 -code 模式)。

id: cve-2026-98432-detect
info:  name: CVE-2026-98432 Linux Kernel IPv4 TCP UAF - Safe Detection  author: security-research  severity: high  description: |    检测运行内核是否可能受 CVE-2026-98432 影响。仅做版本指纹与 MPTCP 状态检查,    不发送利用载荷,不触发漏洞。  reference:    - https://access.redhat.com/security/vulnerabilities/RHSB-2026-016    - https://atlasum.net/blog/cve-2026-98432-linux-ipv4-tcp-uaf  classification:    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H    cvss-score: 9.8    cwe-id: CWE-416  tags: cve,cve2026,linux,kernel,tcp,detect
# 本模板为本地/远程执行模板(-code 模式),需 nuclei 启用 code 协议code:  - engine:      - bash    args:      - \"-c\"    pattern: |      echo \"KERNEL=$(uname -r)\"      echo \"DISTRO=$(grep PRETTY_NAME /etc/os-release 2>/dev/null | cut -d= -f2)\"      echo \"MPTCP_ENABLED=$(sysctl -n net.mptcp.enabled 2>/dev/null || echo unknown)\"      echo \"MPTCP_LISTENERS=$(ss -Mlnp 2>/dev/null | wc -l)\"    matchers:      - type: regex        name: kernel        regex:          - \"KERNEL=(.+)\"    extractors:      - type: regex        part: output        regex:          - \"KERNEL=(.+)\"          - \"DISTRO=(.+)\"          - \"MPTCP_ENABLED=(.+)\"          - \"MPTCP_LISTENERS=(.+)\"

说明:由于目标为 Linux 内核,Nuclei 无法通过网络远程探测该漏洞(需要系统级信息)。此模板设计为在目标主机本地或通过 SSH 执行,输出内核版本、发行版和 MPTCP 状态供人工研判。实际资产排查建议使用上文 Python 脚本,或直接执行 uname -r 并对照发行版通告。

八、今晚的行动清单

  1. 先查发行版:Ubuntu 和 RHEL 用户暂时无补丁可打,需优先评估暴露面;Debian、Amazon Linux、AlmaLinux 测试仓库可立即行动。
  2. 再查 MPTCP:ss -Mlnp。有输出则最高优先级处理;Go 1.24+ 服务重点排查。
  3. 应用 nftables 缓解规则:在获得发行版补丁之前,Red Hat 规则是唯一有厂商背书的临时措施。规则在重启后失效,打上补丁后记得删除。
  4. 容器宿主机和 K8s 节点同样处理:容器共享宿主机内核,只更新容器镜像毫无意义。
  5. 关注发行商通告,而非上游版本号:发行版回移植的版本号与上游完全不同,uname -r 显示 5.15.0-xxx 并不代表“版本够新”。

最后一句实话:这个漏洞的 CVSS 9.8 很吓人,但 Anthropic 的可用利用程序需要 MPTCP 监听器作为前置条件。如果你确认 ss -Mlnp 为空,且没有 Go 1.24+ 编译的服务,紧迫性会显著下降。但 Ubuntu 和 RHEL 用户仍需跟进补丁进展——一旦发行版修复发布,应第一时间更新并重启。

CVE-2026-98432:Linux内核TCP释放后重用漏洞,CVSS9.8但补丁覆盖极不均衡-C博" 网络安全文章

CVE-2026-98432:Linux内核TCP释放后重用漏洞,CVSS9.8但补丁覆盖极不均衡-C博"

CVE-2026-98432是Linux内核IPv4TCP握手中的释放后重用漏洞,CVSS9.8,影响Linux4.4起,攻击者无需凭证即可在握手阶段触发。Anthropic已用Claude模型编写出针对启用MPTCP监听器服务器的可用远程root利用程序,Go1.24起默认创建MPTCP监听套接字扩大了影响面。发行版修复极不均衡,Debian和AmazonLinux已修复,Ubuntu和RHEL尚未提供补丁。文章提供nftables临时缓解规则、关闭MPTCP建议、Python检测脚本及Nuclei模板
南洋理工大学、武汉大学|LocalAlign:通过近目标对抗训练提升提示注入防御泛化能力" 网络安全文章

南洋理工大学、武汉大学|LocalAlign:通过近目标对抗训练提升提示注入防御泛化能力"

南洋理工大学与武汉大学提出LocalAlign方法,针对大语言模型提示注入防御的泛化不足问题,从输入侧与目标侧两个维度展开分析,通过近目标对抗样本生成与边际感知对齐训练,提升模型对未见攻击的鲁棒性。实验表明该方法在分布外数据集上将攻击成功率降至10%以下,并显著增强对GCG等优化攻击的防御能力,同时保持正常任务能力。
内网实战:拿下边界主机后,横向到域控的方法论(脱敏)" 网络安全文章

内网实战:拿下边界主机后,横向到域控的方法论(脱敏)"

本文为授权内网攻防演练方法论,阐述从边界主机横向到域控的完整思路。核心步骤包括本机信息收集、凭据与权限获取、横向移动尝试及域控突破。文章强调演练价值在于输出防守侧可执行的加固清单,而非仅展示攻击成果。防守侧应重点加固凭据散落、弱口令、过度委派及日志盲区等薄弱点。
评论:0   参与:  0