Linux爆出CVSS9.8高危漏洞!CVE-2026-98432可导致远程Root权限,赶紧检查你的服务器"

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

Linux 爆出 CVSS 9.8 高危漏洞!CVE-2026-98432 可导致远程 Root 权限,赶紧检查你的服务器

原创

didiplus
didiplus

攻城狮成长日记

2026年11月3日 15:40
广东

去阅读

安全预警预计阅读 21 分钟 · 共 8370 字

Linux 爆出 CVSS 9.8 高危漏洞!CVE-2026-98432 可导致远程 Root 权限,赶紧检查你的服务器

Linux Kernel · CVE-2026-98432 · CVSS 9.8

Linux内核#UAF漏洞#远程Root#运维实战

READING PATH

阅读路线

6 个章节

01

CVE-2026-98432 到底是什么漏洞?

-

02

漏洞原理:一个 TCP 连接为什么会出现内存释放竞争?

-

03

哪些 Linux 服务器受到影响?

-

04

Linux 服务器如何修复 CVE-2026-98432?

-

05

运维人员应该如何开展批量排查?

-

06

不要等服务器出问题才开始排查

最近,Linux 内核曝出一个值得所有运维工程师重点关注的高危安全漏洞:CVE-2026-98432。该漏洞位于 Linux 内核 IPv4 TCP 网络处理模块,属于典型的 Use-After-Free(UAF,释放后使用) 内存安全问题。

为什么值得关注?

因为它并不是某个 Web 应用的普通漏洞,而是发生在 Linux 内核网络协议栈 中。攻击者在特定条件下,可以通过远程构造 TCP 网络请求触发竞争条件,导致内核内存破坏、系统崩溃,甚至可能实现远程代码执行。

更值得警惕的是,Anthropic 的安全研究人员已经展示了利用该漏洞攻击启用了 MPTCP 监听器的 Linux 服务器、获取 Root 权限的能力。

Critical

CVSS 3.1 评分:9.8 分

Critical 级别 · 远程无需认证 · 无需用户交互

远程攻击#无需认证#内核内存破坏#潜在RCE

Linux 内核官方给出的 CVSS 3.1评分高达 9.8 分(Critical)。对于维护大量 Linux 服务器的运维人员来说,这次需要重点关注的不只是漏洞本身,还有服务器是否启用了 MPTCP、当前内核是否包含修复补丁,以及发行版是否已经发布安全更新。

下面从实际运维角度,把这个漏洞彻底拆解一下。

CHAPTER 01

01CVE-2026-98432 到底是什么漏洞?WHAT IS THE VULNERABILITY

先看一下漏洞基本信息。

项目 内容
漏洞编号 CVE-2026-98432
漏洞类型 Use-After-Free(UAF)
影响组件 Linux Kernel IPv4 TCP
CVSS 评分 9.8(Critical)
攻击方式 远程网络攻击
是否需要认证 不需要
是否需要用户交互 不需要
主要影响 内核内存破坏、拒绝服务、潜在远程代码执行
漏洞引入版本 Linux Kernel 4.4

该漏洞于 2026 年 10 月 15 日由 Linux Kernel CVE 团队公开。从漏洞描述来看,问题主要出现在 Linux 内核处理 IPv4 TCP 连接请求的过程中。

涉及的关键函数包括:

●tcp_v4_syn_recv_sock()

●tcp_check_req()

●tcp_v4_send_synack()

●ip_options_build()

●inet_sock_destruct()

●tcp_v4_reqsk_destructor()

简单来说,就是 TCP 连接建立过程中,不同 CPU 核心可能同时处理同一个连接请求,而其中一个执行路径已经释放了相关内存,另一个执行路径却仍然在读取这块内存。

这就形成了典型的UAF漏洞。

CHAPTER 02

02漏洞原理:一个 TCP 连接为什么会出现内存释放竞争?VULNERABILITY MECHANISM

想理解这个漏洞,首先需要了解 TCP 三次握手。正常情况下,TCP 建立连接需要经历:

TCP THREE-WAY HANDSHAKE

TCP 三次握手流程

1

客户端发送 SYN

客户端主动发起连接请求

2

服务端返回 SYN-ACK

服务端确认并回应

3

客户端发送 ACK

客户端最终确认

4

连接建立成功

TCP 连接完成

Linux 内核在处理 SYN 请求时,会创建一个请求套接字(Request Socket),用于保存连接建立过程中需要的信息,其中就包括 IP Options。问题恰恰出现在这些信息的生命周期管理上。

01

问题发生在哪里?

根据 Linux 内核官方漏洞公告:

tcp_v4_syn_recv_sock() 在创建子 Socket 时,会将请求 Socket 中的 ireq_opt 所有权转移给新 Socket 的 inet_opt,但并没有进行数据复制。与此同时,另一个 CPU 核心可能正在处理同一个请求 Socket 的 SYN 重传,并通过 tcp_check_req() 继续构建 SYN-ACK。

此时就可能出现下面的竞争:

RACE CONDITION

UAF 竞争时序

1

CPU 1 完成连接处理

将 IP Options 转移给子 Socket

2

CPU 2 处理重传 SYN

读取原来的 IP Options

3

CPU 1 释放子 Socket

相关 IP Options 内存被释放

4

CPU 2 访问已释放内存

触发 Use-After-Free

最终导致 Use-After-Free。

02

为什么 UAF 如此危险?

UAF 的危险之处在于,程序继续使用已经释放的内存。这块内存可能已经被其他内核对象重新分配和使用。攻击者如果能够控制竞争时机以及相关内存布局,就有可能进一步影响内核的数据结构。

可能造成:

●内核异常访问,导致系统崩溃。

●内核内存信息泄露。

●内存数据被破坏。

●在特定条件下实现更严重的内核权限提升或远程代码执行。

03

官方是如何修复的?

Linux 内核官方给出的修复思路非常关键:将原来的普通内存释放方式 kfree() 调整为 kfree_rcu()。

BEFORE

修复前

使用 kfree() 立即释放内存,其他 CPU 可能仍在访问该内存,存在 UAF 风险。

AFTER

修复后

使用 kfree_rcu() 延迟释放,等待 RCU Grace Period 宽限期,确保所有读取 CPU 完成访问后再释放。

RCU(Read-Copy-Update)是一种 Linux 内核常见的并发编程机制。它允许读取者在临界区内安全访问数据,而释放操作需要等待一个 RCU Grace Period(宽限期),确保之前正在读取该对象的 CPU 已经完成访问。

不能因为一个 CPU 已经不再需要这块内存,就立即释放它;还需要确认其他 CPU 不会继续访问它。

这就是此次漏洞修复的核心。官方公告还指出,IPv4 主问题与 IPv6 的处理逻辑不同:tcp_v6_syn_recv_sock() 会复制相关选项,因此不受相同的主要竞争问题影响。不过,IPv6 请求 Socket 迁移场景还存在一个单独的问题,不能因此认为所有相关 IPv6 路径都绝对安全。

CHAPTER 03

03哪些 Linux 服务器受到影响?AFFECTED SYSTEMS

这是运维人员最关心的问题。根据 Linux 内核官方公告,漏洞代码可以追溯到 Linux Kernel 4.4。也就是说,不能只看服务器是否运行较新的 Linux 系统,就认为自己没有风险。

01

上游内核受影响范围

Linux 内核官方公布的修复版本如下:

内核分支 修复版本
5.10 5.10.272
5.15 5.15.223
6.1 6.1.190
6.6 6.6.159
6.12 6.12.113
6.18 6.18.56
7.2 7.2.10
7.3 7.3

💡 以上是上游内核修复版本,不代表所有 Linux 发行版都必须使用相同版本号。CentOS、Rocky Linux、RHEL、Ubuntu 等发行版可能会将补丁回移到自己的内核版本中,因此必须以发行版安全公告和实际安装的补丁状态为准。

02

主流发行版影响情况

截至 2026 年 11 月 2 日,公开资料显示:

Linux 发行版 影响情况 修复情况
RHEL 8 受影响 已发布修复
RHEL 9 受影响 已发布修复
RHEL 10 受影响 已发布修复
RHEL 9 RT 受影响 尚待修复
OpenShift 4 受影响 尚待修复
Ubuntu 22.04 受影响 修复处理中
Ubuntu 24.04 受影响 修复处理中
Debian 12 受影响 已发布修复
Debian 13 受影响 已发布修复
Amazon Linux 部分版本受影响 已发布修复
Oracle Linux 部分版本受影响 已发布修复
SUSE 部分版本受影响 已发布修复

注意

特别提醒

RHEL 8/9/10#Ubuntu 持续关注#RHEL 7 不受影响

RHEL 8、9、10 的修复内核已经在 2026 年 11 月 1 日发布。Ubuntu 的修复状态仍需持续关注官方安全公告。另外,RHEL 7 不受该漏洞影响,不能简单按照 Linux 内核版本号进行判断。

05

如何进行安全的漏洞复现验证?

建议采用修复前后对照的方式:

PHASE 1

第一阶段:漏洞版本验证

1

启动漏洞内核

在隔离虚拟机中启动存在漏洞的内核

2

部署测试服务

部署测试 TCP 服务

3

检查处理路径

检查 IPv4 TCP 连接及 IP Options 处理路径

4

观察生命周期

使用内核调试工具观察相关对象的分配、释放和访问

5

并发压力验证

在受控的内核测试环境中进行并发压力验证

PHASE 2

第二阶段:修复版本验证

1

更换修复内核

更换为包含 CVE-2026-98432 修复补丁的内核

2

重复测试场景

重复相同的测试场景

3

对比内存生命周期

对比修复前后的内存生命周期

4

确认 RCU 释放

确认相关内存通过 RCU 宽限期后才释放

如果具备内核开发和调试条件,可以通过 KASAN、内核调试日志以及专门的并发测试程序辅助验证。

重要

验证结论判断

不能仅凭压测#不能仅凭未崩溃

普通 TCP 压测没有触发内核异常,不代表漏洞不存在;同样,修复前后没有出现系统崩溃,也不能单独作为漏洞是否修复的判断依据。真正可靠的验证方式,是确认当前运行内核已经包含官方修复补丁。

CHAPTER 04

04Linux 服务器如何修复 CVE-2026-98432?REMEDIATION

对于运维工程师来说,最重要的不是研究如何利用漏洞,而是尽快确认资产范围并完成修复。

01

RHEL / Rocky Linux / AlmaLinux 系列

RHEL 8、9、10 已经发布修复内核。根据 Red Hat 公告,相关修复版本包括:

系统 修复内核版本
RHEL 8 4.18.0-553.182.1.el8\_10
RHEL 9 5.14.0-687.64.1.el9\_8
RHEL 10 6.12.0-211.72.1.el10\_2

执行更新:

bash

dnf clean all

dnf makecache

dnf update kernel -y

更新完成后查看已安装内核:

bash

rpm -q kernel

重启服务器:

bash

reboot

重启后检查当前运行内核:

bash

uname -r

💡 Rocky Linux 和 AlmaLinux 用户不要直接照搬 RHEL 的内核版本号,应以各自发行版的安全公告及仓库中的修复包为准。

02

Ubuntu 系列

Ubuntu 22.04、24.04 等版本需要持续关注 Canonical 的安全公告。截至 2026 年 11 月 2 日,相关修复仍处于处理中。可以先执行:

bash

sudo apt update

sudo apt upgrade

但需要注意:普通系统更新不等于该漏洞已经修复。只有在 Canonical 发布对应修复内核,并且服务器安装、启动该内核后,才能确认修复完成。

查看当前内核:

bash

uname -r

查看已安装内核包:

bash

dpkg -l | grep linux-image

03

Debian 系列

Debian 已经发布了相关修复。

Debian 12(Bookworm):

bash

apt update

apt install linux-image-amd64

Debian 13(Trixie):

bash

apt update

apt install linux-image-amd64

官方安全跟踪信息显示:

●Debian 12:修复版本 6.1.190-1。

●Debian 13:修复版本 6.12.113-1。

安装完成后,按照维护窗口安排重启。

04

暂时无法升级怎么办?

如果生产环境暂时无法更新内核,可以先采取临时防护措施:

●限制服务器 IPv4 TCP 访问来源。

●通过防火墙限制不必要的外部 TCP 访问。

●排查是否启用了 MPTCP。

●排查 tcp_migrate_req 和相关 eBPF 迁移程序。

●对重要业务增加网络边界防护。

●密切关注发行版补丁发布情况。

警告

临时防护不能替代内核升级

关闭MPTCP无效#主要路径仍可触发

单独关闭 MPTCP 并不能彻底解决这个漏洞。 因为主要漏洞路径还可以通过普通 IPv4 TCP 连接触发。对于具备防火墙运维能力的团队,可以进一步评估过滤携带特定 IPv4 IP Options 的 TCP 数据包。具体规则需要根据实际网络拓扑、业务依赖和发行版建议制定,避免误伤正常业务。

CHAPTER 05

05运维人员应该如何开展批量排查?BATCH INSPECTION

如果公司有几十台、几百台甚至上千台 Linux 服务器,逐台登录检查显然不现实。建议通过 Ansible 或其他自动化运维平台统一收集信息。下面提供一个简单的批量巡检脚本:

bash

!/bin/bash

============================================================

Linux CVE-2026-98432 专项巡检脚本

功能:系统信息、内核版本、TCP迁移、MPTCP状态检查

适用:RHEL / CentOS / Rocky / AlmaLinux / Debian / Ubuntu

============================================================

set -u

VERSION=\"1.0.0\"

CVE=\"CVE-2026-98432\"

HOSTNAME=$(hostname 2>/dev/null || echo \"unknown\")

DATE=$(date '+%Y-%m-%d %H:%M:%S')

KERNEL=$(uname -r 2>/dev/null || echo \"unknown\")

颜色

RED='\033[31m'

GREEN='\033[32m'

YELLOW='\033[33m'

BLUE='\033[34m'

NC='\033[0m'

统计

PASS=0

WARN=0

FAIL=0

INFO=0

info() {

echo -e \"${BLUE}[INFO]${NC} $1\"

INFO=$((INFO + 1))

}

pass() {

echo -e \"${GREEN}[PASS]${NC} $1\"

PASS=$((PASS + 1))

}

warn() {

echo -e \"${YELLOW}[WARN]${NC} $1\"

WARN=$((WARN + 1))

}

fail() {

echo -e \"${RED}[FAIL]${NC} $1\"

FAIL=$((FAIL + 1))

}

title() {

echo

echo \"------------------------------------------------------------\"

echo \"$1\"

echo \"------------------------------------------------------------\"

}

获取系统发行版信息

get\_os\_info() {

if [ -f /etc/os-release ]; then

. /etc/os-release

OS\_NAME=${PRETTY\_NAME:-${NAME:-unknown}}

else

OS\_NAME=\"unknown\"

fi

}

获取IP地址

get\_ip() {

if command -v ip >/dev/null 2>&1; then

ip -o -4 addr show scope global 2>/dev/null |

awk '{split($4,a,\"/\"); print a[1]}' |

paste -sd ',' -

else

echo \"unknown\"

fi

}

检查命令是否存在

command\_exists() {

command -v \"$1\" >/dev/null 2>&1

}

检查系统信息

check\_system() {

title \"1. 系统资产信息\"

get\_os\_info

echo \"主机名称:$HOSTNAME\"

echo \"IP地址:$(get\_ip)\"

echo \"操作系统:$OS\_NAME\"

echo \"内核版本:$KERNEL\"

echo \"系统架构:$(uname -m)\"

echo \"检查时间:$DATE\"

}

检查内核信息

check\_kernel() {

title \"2. Linux 内核信息\"

echo \"当前运行内核:$KERNEL\"

if command\_exists rpm; then

echo \"已安装内核包:\"

rpm -q kernel 2>/dev/null || echo \"未查询到 kernel 包\"

elif command\_exists dpkg-query; then

echo \"已安装内核包:\"

dpkg-query -W -f='${Package} ${Version}\
' \

'linux-image-[0-9]\*' 2>/dev/null || \

echo \"未查询到 linux-image 包\"

fi

echo

echo \"内核启动参数:\"

cat /proc/cmdline 2>/dev/null || echo \"无法读取\"

info \"内核版本信息采集完成\"

}

检查TCP迁移配置

check\_tcp\_migrate() {

title \"3. TCP Socket 迁移配置\"

KEY=\"net.ipv4.tcp\_migrate\_req\"

if command\_exists sysctl; then

VALUE=$(sysctl -n \"$KEY\" 2>/dev/null || true)

if [ -z \"$VALUE\" ]; then

warn \"$KEY 不存在或当前内核未暴露该参数\"

elif [ \"$VALUE\" = \"1\" ]; then

warn \"$KEY = 1,已启用请求 Socket 迁移功能\"

elif [ \"$VALUE\" = \"0\" ]; then

pass \"$KEY = 0,未启用请求 Socket 迁移功能\"

else

warn \"$KEY = $VALUE,返回值需要人工确认\"

fi

else

warn \"sysctl 命令不存在\"

fi

echo

echo \"相关 eBPF 程序:\"

if command\_exists bpftool; then

bpftool prog show 2>/dev/null |

grep -iE 'reuseport|migrate' ||

echo \"未发现名称匹配的程序,不能据此确认不存在相关程序\"

else

warn \"未安装 bpftool,跳过 eBPF 程序检查\"

fi

}

检查MPTCP配置

check\_mptcp() {

title \"4. MPTCP 配置检查\"

MPTCP\_SYSCTL=\"/proc/sys/net/mptcp/enabled\"

if [ -f \"$MPTCP\_SYSCTL\" ]; then

VALUE=$(cat \"$MPTCP\_SYSCTL\" 2>/dev/null)

if [ \"$VALUE\" = \"1\" ]; then

warn \"MPTCP 已启用\"

elif [ \"$VALUE\" = \"0\" ]; then

pass \"MPTCP 当前已禁用\"

else

warn \"MPTCP 状态无法识别:$VALUE\"

fi

else

info \"未发现 MPTCP enabled 参数,不能据此判断内核是否支持 MPTCP\"

fi

echo

echo \"MPTCP 监听情况:\"

if command\_exists ss; then

RESULT=$(ss -M -ltn 2>&1)

RC=$?

if [ \"$RC\" -eq 0 ]; then

echo \"$RESULT\"

if echo \"$RESULT\" | grep -qE 'LISTEN|State'; then

if echo \"$RESULT\" | grep -q 'LISTEN'; then

warn \"发现 MPTCP 监听 Socket,请进一步核实\"

else

pass \"未发现 MPTCP 监听 Socket\"

fi

else

pass \"未发现 MPTCP 监听 Socket\"

fi

else

warn \"ss 无法查询 MPTCP 监听状态:$RESULT\"

fi

else

warn \"ss 命令不存在\"

fi

echo

echo \"MPTCP Endpoint:\"

if command\_exists ip; then

RESULT=$(ip mptcp endpoint show 2>&1)

RC=$?

if [ \"$RC\" -eq 0 ]; then

if [ -n \"$RESULT\" ]; then

echo \"$RESULT\"

else

echo \"当前没有配置 MPTCP Endpoint\"

fi

else

warn \"无法查询 MPTCP Endpoint:$RESULT\"

fi

else

warn \"ip 命令不存在\"

fi

}

汇总结果

summary() {

title \"5. 巡检结果汇总\"

echo -e \"${GREEN}PASS:${PASS}${NC}\"

echo -e \"${YELLOW}WARN:${WARN}${NC}\"

echo -e \"${RED}FAIL:${FAIL}${NC}\"

echo -e \"${BLUE}INFO:${INFO}${NC}\"

echo

echo \"主机名称:$HOSTNAME\"

echo \"内核版本:$KERNEL\"

echo \"CVE编号:$CVE\"

echo

echo \"注意:本脚本仅进行环境与配置采集,\"

echo \"不能独立判断该漏洞是否存在或是否已修复。\"

echo \"请结合发行版安全公告、补丁包状态及当前运行内核进行确认。\"

}

main() {

echo \"============================================================\"

echo \"       Linux $CVE 专项安全巡检工具\"

echo \"       Version: $VERSION\"

echo \"============================================================\"

check\_system

check\_kernel

check\_tcp\_migrate

check\_mptcp

summary

echo

echo \"巡检结束。\"

}

main \"$@\"

可以将脚本部署到所有 Linux 主机,统一采集:

●主机名。

●操作系统版本。

●当前运行内核。

●TCP 迁移配置。

●MPTCP 监听情况。

●内核补丁状态。

然后根据发行版官方安全公告进行分类:

1 已修复 系统已安装包含补丁的内核并重启生效 2 待修复 补丁已发布但尚未安装或未重启 3 尚无补丁 发行版尚未发布对应修复内核 4 需要人工确认 版本信息无法自动判定,需人工核对

对于服务器数量较多的环境,建议将结果输出为 CSV 或 JSON,接入现有巡检平台,形成漏洞资产清单。

CHAPTER 06

06不要等服务器出问题才开始排查CONCLUSION

CVE-2026-98432 再次提醒我们:Linux 内核并不是绝对安全的,网络协议栈中的一个内存生命周期问题,也可能演变成严重的远程安全事件。

从此次漏洞来看,运维人员至少需要做好以下几件事情:

ACTION ITEMS

运维人员必做五件事

1

资产盘点

确认所有 Linux 服务器的发行版和内核版本

2

配置排查

重点关注 MPTCP、TCP 请求迁移以及相关 eBPF 程序

3

补丁管理

根据发行版官方公告及时安装修复内核

4

重启验证

确保服务器真正运行在修复后的内核上

5

持续监控

对暂时没有修复包的系统加强网络访问控制

还有一个容易被忽略的问题:安装了新内核,不代表漏洞已经修复。必须确认服务器已经重启,并且当前运行的内核确实包含对应补丁。

对于生产环境而言,漏洞应急不是简单执行一条升级命令,而是一个完整的资产识别、风险评估、补丁验证、业务切换和结果复核过程。

安全没有侥幸,补丁管理也不能靠运气。

如果你的服务器还在运行较老的 Linux 内核,建议尽快安排一次专项排查。

TAKE ACTION

现在就开始排查你的 Linux 服务器

复制巡检脚本立即执行

参考资料:

1.Linux Kernel 官方漏洞公告[1]

2.Red Hat CVE 公告[2]

3.Debian Security Tracker[3]

4.NVD 漏洞数据库[4]

5.BleepingComputer 漏洞分析[5]

6.Anthropic 安全研究[6]

参考资料

[1]CVE-2026-98432 官方公告 mbox 文件:https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-98432.mbox

[2]Red Hat 安全漏洞数据库:https://access.redhat.com/security/cve/CVE-2026-98432

[3]Debian 安全跟踪系统:https://security-tracker.debian.org/tracker/CVE-2026-98432

[4]美国国家漏洞数据库:https://nvd.nist.gov/vuln/detail/CVE-2026-98432

[5]Critical Linux kernel flaw allows remote root attacks:https://www.bleepingcomputer.com/news/security/critical-linux-kernel-flaw-allows-remote-root-attacks-on-mptcp-servers/

[6]Anthropic 安全研究团队:https://www.anthropic.com/

CVE-2026-49881漏洞复现" 网络安全文章

CVE-2026-49881漏洞复现"

本文详细分析了Android17Telecom组件中的CVE-2026-49881漏洞,该逻辑错误允许普通应用以system\\_server身份执行任意代码,无内存破坏且成功率100%。漏洞由LSPosed团队发现,已于2026年9月安全公告修复。文章涵盖漏洞原理、影响范围、修复建议及完整复现过程,并指出与内核漏洞组合可完成提权链。建议及时升级补丁并加强应用安装管控。
动态|新型僵尸网络VeilDHT大范围传播风险预警" 网络安全文章

动态|新型僵尸网络VeilDHT大范围传播风险预警"

国家互联网应急中心监测发现新型僵尸网络veildht大范围传播,主要感染Linux服务器与IoT设备,利用漏洞利用扩散,具备DDoS攻击、命令执行、反向Shell及代理等功能,通信全程加密且隐蔽性强。2026年10月16日至26日境内感染约40467台设备。建议及时修复漏洞、加强口令、安装防护软件并监测IOC。
产业|网安市场周度监测(2026-11-03)" 网络安全文章

产业|网安市场周度监测(2026-11-03)"

网络安全行业资本市场及政策动态追踪,包括投融资、并购、IPO事件、上市公司动态、行业政策导向、研究报告及二级市场表现。重点包括AI原生进攻性安全、智能体安全、移动端EDR、零信任、威胁情报、工控安全等领域。
评论:0   参与:  0