Ubuntu 全版本 CVE-2026-98432 内核安全升级操作手册
-
- [一、不同 Ubuntu 版本的修复状态](#一、不同 Ubuntu 版本的修复状态)
- 二、所有版本通用的升级前检查
-
- [1. 检查系统版本](#1. 检查系统版本)
- [2. 检查当前内核](#2. 检查当前内核)
- [3. 检查安装的内核包](#3. 检查安装的内核包)
- [4. 检查内核元包](#4. 检查内核元包)
- [5. 检查特殊云内核](#5. 检查特殊云内核)
- [6. 检查磁盘空间](#6. 检查磁盘空间)
- [7. 检查 Proposed 仓库](#7. 检查 Proposed 仓库)
- [8. 备份当前系统信息](#8. 备份当前系统信息)
- [三、Ubuntu 22.04 LTS(Jammy)完整升级教程](#三、Ubuntu 22.04 LTS(Jammy)完整升级教程)
-
- 第一步:更新软件包索引
- 第二步:查看当前内核元包
- [第三步:开启 Proposed 仓库](#第三步:开启 Proposed 仓库)
- 第四步:检查修复包
- 第五步:模拟安装
- 第六步:安装修复内核
- 第七步:检查安装
- 第八步:重启
- 第九步:验收
- [四、Ubuntu 24.04 LTS(Noble)完整升级教程](#四、Ubuntu 24.04 LTS(Noble)完整升级教程)
-
- 第一步:更新软件源
- 第二步:检查当前内核
- [第三步:启用 Proposed](#第三步:启用 Proposed)
- 第四步:查看候选版本
- 第五步:模拟安装
- 第六步:实际安装
- 第七步:验证新内核包
- 第八步:重启
- 第九步:验证
- [五、Ubuntu 26.04 LTS(Resolute)完整升级教程](#五、Ubuntu 26.04 LTS(Resolute)完整升级教程)
-
- [1. 检查当前版本](#1. 检查当前版本)
- [2. 更新软件源](#2. 更新软件源)
- [3. 启用 Proposed](#3. 启用 Proposed)
- [4. 检查修复包](#4. 检查修复包)
- [5. 模拟安装](#5. 模拟安装)
- [6. 安装](#6. 安装)
- [7. 验证安装](#7. 验证安装)
- [8. 重启](#8. 重启)
- [9. 验证运行内核](#9. 验证运行内核)
- [六、Ubuntu 26.10(Stonking)完整升级教程](#六、Ubuntu 26.10(Stonking)完整升级教程)
-
- [1. 检查当前内核](#1. 检查当前内核)
- [2. 检查正式仓库](#2. 检查正式仓库)
- [3. 检查目标版本](#3. 检查目标版本)
- [4. 如果正式仓库已经提供经过确认的修复版本](#4. 如果正式仓库已经提供经过确认的修复版本)
- [5. 重启和验收](#5. 重启和验收)
- [七、Ubuntu 20.04 LTS(Focal)完整处理教程](#七、Ubuntu 20.04 LTS(Focal)完整处理教程)
-
- [1. 检查系统](#1. 检查系统)
- [2. 检查 Ubuntu Pro 状态](#2. 检查 Ubuntu Pro 状态)
- [3. 启用 Ubuntu Pro](#3. 启用 Ubuntu Pro)
- [4. 启用 ESM](#4. 启用 ESM)
- [5. 更新现有内核](#5. 更新现有内核)
- [6. 检查 CVE 修复状态](#6. 检查 CVE 修复状态)
- [八、Ubuntu 18.04 LTS(Bionic)完整处理教程](#八、Ubuntu 18.04 LTS(Bionic)完整处理教程)
-
- [1. 检查当前内核](#1. 检查当前内核)
- [2. 检查 Ubuntu Pro](#2. 检查 Ubuntu Pro)
- [3. 启用 ESM](#3. 启用 ESM)
- [4. 更新软件包](#4. 更新软件包)
- [5. 检查内核版本](#5. 检查内核版本)
- [6. 等待 CVE 专用修复](#6. 等待 CVE 专用修复)
- [7. 建议](#7. 建议)
- [九、Ubuntu 16.04 LTS(Xenial)完整处理教程](#九、Ubuntu 16.04 LTS(Xenial)完整处理教程)
-
- [1. 检查系统](#1. 检查系统)
- [2. 检查 Pro](#2. 检查 Pro)
- [3. 检查 Legacy 支持](#3. 检查 Legacy 支持)
- [4. 更新系统](#4. 更新系统)
- [5. 检查内核](#5. 检查内核)
- [6. CVE 处理](#6. CVE 处理)
- [十、Ubuntu 14.04 LTS(Trusty)处理方式](#十、Ubuntu 14.04 LTS(Trusty)处理方式)
- 十一、特殊云服务器内核升级
-
- [1. 查看当前内核类型](#1. 查看当前内核类型)
- [2. 查看专用元包候选版本](#2. 查看专用元包候选版本)
- [3. 模拟专用内核升级](#3. 模拟专用内核升级)
- 十二、所有版本通用的升级验收流程
-
- [1. 确认新内核文件存在](#1. 确认新内核文件存在)
- [2. 确认内核包安装状态](#2. 确认内核包安装状态)
- [3. 检查是否需要重启](#3. 检查是否需要重启)
- [4. 重启服务器](#4. 重启服务器)
- [5. 检查实际运行内核](#5. 检查实际运行内核)
- [6. 检查启动日志](#6. 检查启动日志)
- [7. 检查网络](#7. 检查网络)
- [8. 检查代理业务](#8. 检查代理业务)
- [9. 最终确认 CVE 状态](#9. 最终确认 CVE 状态)
- [十三、Proposed 更新源的关闭与清理](#十三、Proposed 更新源的关闭与清理)
- 十四、内核升级失败时的回滚
-
- [1. 查看旧内核](#1. 查看旧内核)
- [2. 通过 GRUB 启动旧内核](#2. 通过 GRUB 启动旧内核)
- [3. 确认旧内核正常运行](#3. 确认旧内核正常运行)
- [4. 检查网络和业务](#4. 检查网络和业务)
- [5. 保留新旧内核](#5. 保留新旧内核)
- 十五、批量服务器自动化检查脚本
- 十六、推荐的生产环境升级策略
- [十七、特别说明:不要把关闭 MPTCP 当作漏洞修复](#十七、特别说明:不要把关闭 MPTCP 当作漏洞修复)
- 十八、官方资料汇总
适用:Ubuntu 16.04 / 18.04 / 20.04 / 22.04 / 24.04 / 26.04 / 26.10
内核安全漏洞 需要重启 分版本操作
这份教程按照 2026 年 11 月 3 日的 Ubuntu 官方资料整理,目标是让你能够在不同 Ubuntu VPS 上统一排查、升级、验证和回滚。
先明确一个重要事项:我重新核对了 Canonical 的漏洞跟踪页面,发现它在 11 月 3 日更新后,22.04、24.04、26.04 和 26.10 的通用 Linux 内核包仍显示 Vulnerable / work in progress。虽然 11 月 2 日博客列出了对应修复版本,但这些版本不能一概当成已经进入正式稳定更新通道。
因此,下面将操作分成:
- 正式仓库升级:适合生产服务器。
- Proposed 定向升级:适合有内核测试和回滚能力的服务器。
- 暂无修复版本:正常维护系统,等待官方安全补丁。
- 旧版本处理:启用 Ubuntu Pro / ESM,或规划发行版升级。
官方依据:
一、不同 Ubuntu 版本的修复状态
以下版本号为 Canonical 11 月 2 日公告列出的通用 Linux 内核目标版本,不代表所有云厂商内核均适用。
| Ubuntu 版本 | 代号 | 修复内核 | 11 月 3 日处理建议 |
|---|---|---|---|
| 14.04 LTS | Trusty | 不受影响 | 无需针对该 CVE 升级 |
| 16.04 LTS | Xenial | 待发布 | ESM Legacy,等待补丁 |
| 18.04 LTS | Bionic | 待发布 | ESM,等待补丁 |
| 20.04 LTS | Focal | 待发布 | ESM,等待补丁 |
| 22.04 LTS | Jammy | 5.15.0-203.213 | Proposed 测试 |
| 24.04 LTS | Noble | 6.8.0-149.149 | Proposed 测试 |
| 26.04 LTS | Resolute | 7.0.0-43.43 | Proposed 测试 |
| 26.10 | Stonking | 7.3.0-10.10 | 博客列为已修复,实时跟踪仍需确认 |
重要:不要混淆两个版本概念
uname -r:当前正在运行的内核。dpkg -l:已经安装的软件包。
例如安装了 6.8.0-149-generic,但没有重启,uname -r 仍可能显示 6.8.0-40-generic。
只有实际启动修复内核,并确认对应包包含 CVE 修复,才能完成验收。
二、所有版本通用的升级前检查
下面的命令适用于 Ubuntu 16.04 及以上版本。
1. 检查系统版本
cat /etc/os-release
2. 检查当前内核
uname -r
uname -a
3. 检查安装的内核包
dpkg -l 'linux-image*' | grep '^ii'
4. 检查内核元包
dpkg-query -W \
-f='${source:Package}\t${binary:Package}\t${Version}\n' \
2>/dev/null | grep '^linux-meta'
5. 检查特殊云内核
dpkg -l | grep -E \
'linux-(aws|azure|gcp|oracle|oem|virtual|generic)'
6. 检查磁盘空间
df -h / /boot
df -i /boot
7. 检查 Proposed 仓库
grep -Rni proposed \
/etc/apt/sources.list \
/etc/apt/sources.list.d/ 2>/dev/null
8. 备份当前系统信息
sudo mkdir -p /root/cve-2026-98432-backup
uname -a | sudo tee \
/root/cve-2026-98432-backup/kernel.txt
cat /etc/os-release | sudo tee \
/root/cve-2026-98432-backup/os.txt
dpkg -l | sudo tee \
/root/cve-2026-98432-backup/packages.txt
ip addr | sudo tee \
/root/cve-2026-98432-backup/ip.txt
ip route | sudo tee \
/root/cve-2026-98432-backup/routes.txt
sudo cp -a /etc/apt \
/root/cve-2026-98432-backup/apt
对于 VPS,另外创建云盘快照,并确认 VNC 或 Serial Console 可以使用。
三、Ubuntu 22.04 LTS(Jammy)完整升级教程
修复包位于 Proposed
目标通用内核:5.15.0-203.213
第一步:更新软件包索引
sudo apt update
第二步:查看当前内核元包
apt-cache policy linux-generic
apt-cache policy linux-image-generic
第三步:开启 Proposed 仓库
sudo add-apt-repository \
--component main \
--pocket proposed \
http://archive.ubuntu.com/ubuntu
更新:
sudo apt update
第四步:检查修复包
apt-cache policy linux-generic
apt-cache policy linux-image-generic
apt-cache policy linux-image-5.15.0-203-generic
确认是否出现:
jammy-proposed
5.15.0-203.213
第五步:模拟安装
sudo apt-get -s install \
-t jammy-proposed \
linux-generic
检查模拟结果,没有异常依赖或大量无关包变更后再继续。
第六步:安装修复内核
如果 linux-generic 已经安装:
sudo apt install \
-t jammy-proposed \
--only-upgrade linux-generic
如果没有安装:
sudo apt install \
-t jammy-proposed \
linux-generic
如果你的服务器使用 AWS、Azure、GCP 内核,不要执行以上通用内核安装命令,应先确认专用内核修复包。
第七步:检查安装
dpkg -l | grep -E \
'linux-generic|linux-image-5.15.0-203|linux-modules-5.15.0-203'
ls -lh /boot/vmlinuz-*
第八步:重启
sudo reboot
第九步:验收
uname -r
目标:
5.15.0-203-generic
四、Ubuntu 24.04 LTS(Noble)完整升级教程
修复包位于 Proposed
目标通用内核:6.8.0-149.149
这部分特别针对你前面提供的 Ubuntu 24.04.5 VPS。
第一步:更新软件源
sudo apt update
第二步:检查当前内核
uname -r
dpkg -l 'linux-image*' | grep '^ii'
第三步:启用 Proposed
sudo add-apt-repository \
--component main \
--pocket proposed \
http://archive.ubuntu.com/ubuntu
sudo apt update
第四步:查看候选版本
apt-cache policy \
linux-generic \
linux-image-generic \
linux-image-6.8.0-149-generic
目标:
6.8.0-149.149
注意,必须确认来源是:
noble-proposed
第五步:模拟安装
sudo apt-get -s install \
-t noble-proposed \
linux-generic
第六步:实际安装
如果原来已经安装 linux-generic:
sudo apt install \
-t noble-proposed \
--only-upgrade linux-generic
如果没有安装元包:
sudo apt install \
-t noble-proposed \
linux-generic
你的 VPS 就属于第二种情况。
你之前的输出显示:
linux-generic:
Installed: (none)
所以应该使用第二条,而不是 --only-upgrade。
第七步:验证新内核包
dpkg -l | grep -E \
'linux-generic|linux-image-6.8.0-149|linux-modules-6.8.0-149'
第八步:重启
sudo reboot
第九步:验证
uname -r
预期:
6.8.0-149-generic
五、Ubuntu 26.04 LTS(Resolute)完整升级教程
修复包位于 Proposed
目标通用内核:7.0.0-43.43
26.04 是新一代 LTS,内核版本与 24.04 不同,不能使用 Noble 的内核包。
1. 检查当前版本
cat /etc/os-release
uname -r
2. 更新软件源
sudo apt update
3. 启用 Proposed
sudo add-apt-repository \
--component main \
--pocket proposed \
http://archive.ubuntu.com/ubuntu
sudo apt update
4. 检查修复包
apt-cache policy \
linux-generic \
linux-image-generic \
linux-image-7.0.0-43-generic
确认:
7.0.0-43.43
resolute-proposed
5. 模拟安装
sudo apt-get -s install \
-t resolute-proposed \
linux-generic
6. 安装
已经安装元包:
sudo apt install \
-t resolute-proposed \
--only-upgrade linux-generic
没有安装元包:
sudo apt install \
-t resolute-proposed \
linux-generic
7. 验证安装
dpkg -l | grep -E \
'linux-generic|linux-image-7.0.0-43'
8. 重启
sudo reboot
9. 验证运行内核
uname -r
目标:
7.0.0-43-generic
六、Ubuntu 26.10(Stonking)完整升级教程
优先检查正式仓库
博客公布目标版本:7.3.0-10.10
Ubuntu 26.10 的情况比较特殊:
- 11 月 2 日 Canonical 博客列出 7.3.0-10.10 为已修复版本。
- 11 月 3 日实时 CVE 跟踪页面仍显示
Vulnerable / work in progress。
所以这里不能仅凭博客中的版本号就判断已经正式完成安全修复。
1. 检查当前内核
cat /etc/os-release
uname -r
2. 检查正式仓库
sudo apt update
apt-cache policy \
linux-generic \
linux-image-generic
3. 检查目标版本
apt-cache madison linux-generic
apt-cache madison linux-image-generic
4. 如果正式仓库已经提供经过确认的修复版本
模拟升级:
sudo apt-get -s install linux-generic
如果系统已有元包:
sudo apt upgrade
如果没有元包:
sudo apt install linux-generic
如果正式仓库还没有修复包,但 Proposed 中有:
sudo add-apt-repository \
--component main \
--pocket proposed \
http://archive.ubuntu.com/ubuntu
sudo apt update
检查:
apt-cache policy linux-generic
只有在明确确认 Proposed 包的修复内容、依赖关系和测试条件后,才进行定向安装:
sudo apt-get -s install \
-t stonking-proposed \
linux-generic
模拟结果通过后:
sudo apt install \
-t stonking-proposed \
linux-generic
5. 重启和验收
sudo reboot
uname -r
预期内核 ABI:
7.3.0-10-generic
但最终仍要查看 CVE 页面,确认该内核包状态已经从 Vulnerable 变为 Fixed。
七、Ubuntu 20.04 LTS(Focal)完整处理教程
官方修复包待发布
Ubuntu 20.04 已结束标准支持,需要 Ubuntu Pro ESM。
1. 检查系统
cat /etc/os-release
uname -r
2. 检查 Ubuntu Pro 状态
sudo pro status
如果未安装 Pro 客户端:
sudo apt update
sudo apt install ubuntu-advantage-tools
3. 启用 Ubuntu Pro
如果已经有 Ubuntu Pro Token:
sudo pro attach YOUR_TOKEN
请将 YOUR_TOKEN 替换为你自己的订阅 Token,不要公开。
检查:
sudo pro status
4. 启用 ESM
sudo pro enable esm-infra
sudo pro enable esm-apps
检查:
sudo pro status
5. 更新现有内核
sudo apt update
sudo apt-get -s upgrade
模拟结果正常后:
sudo apt upgrade
如果有必要升级依赖:
sudo apt-get -s dist-upgrade
仔细检查将要安装和删除的软件包,再决定是否执行。
6. 检查 CVE 修复状态
apt-cache policy linux-generic
当前没有官方确认的 Focal 修复版本时,不能认为普通更新已经解决 CVE-2026-98432。
继续跟踪:
Ubuntu CVE 状态页面
不要安装 22.04 的 5.15.0-203 内核到 20.04。
八、Ubuntu 18.04 LTS(Bionic)完整处理教程
官方修复包待发布
18.04 已结束标准支持,需要 Ubuntu Pro ESM。
1. 检查当前内核
cat /etc/os-release
uname -r
2. 检查 Ubuntu Pro
sudo pro status
3. 启用 ESM
sudo pro enable esm-infra
sudo pro enable esm-apps
4. 更新软件包
sudo apt update
sudo apt-get -s upgrade
模拟检查正常后:
sudo apt upgrade
5. 检查内核版本
dpkg -l 'linux-image*' | grep '^ii'
6. 等待 CVE 专用修复
截至 11 月 3 日,官方 CVE 页面尚未提供 Bionic 对应的已修复版本。
不要将其他 Ubuntu 发行版的内核包跨版本安装到 Bionic。
7. 建议
对于仍在运行 18.04 的生产 VPS,建议:
- 继续使用 Ubuntu Pro ESM。
- 规划迁移到 22.04 或 24.04。
- 迁移前进行业务兼容性测试。
- 不要直接跨越多个 LTS 版本升级。
九、Ubuntu 16.04 LTS(Xenial)完整处理教程
官方修复包待发布
16.04 已结束标准支持,需要 Ubuntu Pro Legacy 支持。
1. 检查系统
cat /etc/os-release
uname -r
2. 检查 Pro
sudo pro status
3. 检查 Legacy 支持
sudo pro enable esm-infra
sudo pro enable esm-apps
需要确保订阅包含适用的 Legacy 支持。
4. 更新系统
sudo apt update
sudo apt-get -s upgrade
确认模拟结果正常后:
sudo apt upgrade
5. 检查内核
dpkg -l 'linux-image*' | grep '^ii'
6. CVE 处理
截至 11 月 3 日,Xenial 对应修复仍待发布。
不建议通过手动替换内核、安装其他发行版内核包的方式处理。
16.04 已经比较老旧,如果还运行互联网暴露的生产服务,建议制定迁移计划。
十、Ubuntu 14.04 LTS(Trusty)处理方式
官方通用 Linux 包:不受影响
Canonical 将 Trusty 的 linux 包标记为 Not affected。
因此不需要为了 CVE-2026-98432 专门升级内核。
但这不代表 14.04 可以长期不维护。它已经结束常规支持,仍应检查:
uname -r
sudo pro status
注意:如果使用第三方内核、定制内核或特殊设备内核,应单独确认其漏洞状态,不能直接套用通用 linux 包的结论。
Ubuntu+2
十一、特殊云服务器内核升级
上面介绍的版本号都是通用内核 linux 的修复目标。
如果你的 VPS 使用云厂商内核,就不能直接套用通用内核版本。
| 内核类型 | 常见元包 |
|---|---|
| 通用内核 | linux-generic |
| AWS | linux-aws |
| Azure | linux-azure |
| GCP | linux-gcp |
| Oracle Cloud | linux-oracle |
| OEM | linux-oem-* |
| HWE | linux-generic-hwe-* |
1. 查看当前内核类型
uname -r
dpkg -l | grep -E \
'linux-(aws|azure|gcp|oracle|oem|generic|hwe)'
2. 查看专用元包候选版本
例如 Ubuntu 24.04:
apt-cache policy \
linux-aws \
linux-azure \
linux-gcp \
linux-oracle
3. 模拟专用内核升级
例如 AWS:
sudo apt-get -s install \
-t noble-proposed \
linux-aws
Azure:
sudo apt-get -s install \
-t noble-proposed \
linux-azure
GCP:
sudo apt-get -s install \
-t noble-proposed \
linux-gcp
只有候选版本、来源和依赖均确认后,才能实际安装。
不要把 linux-generic 与 linux-aws、linux-azure 混装作为解决漏洞的捷径。
另外,HWE、OEM、FIPS 和 Real-time 内核可能有独立的修复状态,应当以 Ubuntu CVE Tracker 对应包名为准。
十二、所有版本通用的升级验收流程
无论使用哪个 Ubuntu 版本,内核安装后都必须经过以下验收。
1. 确认新内核文件存在
ls -lh /boot/vmlinuz-*
ls -lh /boot/initrd.img-*
2. 确认内核包安装状态
dpkg -l 'linux-image*' | grep '^ii'
3. 检查是否需要重启
if [ -f /run/reboot-required ]; then
echo "需要重启"
cat /run/reboot-required.pkgs 2>/dev/null
else
echo "系统没有报告必须重启"
fi
注意:对于内核更新,即使该文件不存在,也应该在安装新内核后安排重启。
4. 重启服务器
sudo reboot
5. 检查实际运行内核
uname -r
6. 检查启动日志
journalctl -b -p err --no-pager
dmesg -T | grep -Ei \
'BUG:|Oops:|panic|failed|error'
7. 检查网络
ip addr
ip route
ip rule
ss -lntup
ss -s
8. 检查代理业务
从外部客户端测试:
- SSH 是否正常。
- TCP 代理节点是否正常。
- UDP 节点是否正常。
- DNS 解析是否正常。
- IPv4 和 IPv6 是否正常。
- 防火墙规则是否正常。
9. 最终确认 CVE 状态
sudo apt update
访问:
Canonical CVE-2026-98432
注意:漏洞跟踪状态可能晚于内核包发布,也可能存在不同内核变体的差异。应结合修复包 changelog、包版本和实际运行内核判断。
十三、Proposed 更新源的关闭与清理
完成测试内核安装后,建议停止接收其他 Proposed 更新。
首先检查配置:
grep -Rni proposed \
/etc/apt/sources.list \
/etc/apt/sources.list.d/ 2>/dev/null
如果使用 add-apt-repository 创建了单独的 Proposed 源,可以先找到具体文件:
ls -l /etc/apt/sources.list.d/
对于独立的 .list 文件,备份后注释其中的 Proposed 行;对于 .sources 文件,备份后将对应 stanza 设置为:
Enabled: no
例如:
sudo cp -a /etc/apt/sources.list.d \
/root/cve-2026-98432-backup/sources.list.d
修改前务必确认文件里没有混合正式仓库配置。
然后:
sudo apt update
检查:
apt-cache policy linux-generic
保留原来的 noble-updates 和 noble-security 等正式更新源。
注意:关闭 Proposed 不会自动降级已经安装的 Proposed 内核。 如果已经安装较新版本,保留该版本,等待正式仓库后续接管,不要盲目降级。
十四、内核升级失败时的回滚
1. 查看旧内核
ls /boot/vmlinuz-*
2. 通过 GRUB 启动旧内核
启动时进入:
Advanced options for Ubuntu
选择升级前的内核版本。
3. 确认旧内核正常运行
uname -r
4. 检查网络和业务
ip addr
ip route
ss -lntup
5. 保留新旧内核
不要在升级后立即执行:
sudo apt autoremove
至少先确认新内核正常运行、业务通过测试,再清理旧内核。
对于云 VPS,云盘快照回滚通常比在无法启动的系统内手动修复 GRUB 更可靠。
十五、批量服务器自动化检查脚本
如果你管理多台 VPS,建议先统一收集信息,再决定哪些机器需要升级。
下面脚本适用于 Ubuntu 16.04 及以上,属于只读审计,不会修改系统。
#!/usr/bin/env bash
# CVE-2026-98432 Ubuntu kernel audit
# Read-only: no installation, no reboot, no repository changes.
set -u
echo "======================================"
echo " CVE-2026-98432 Ubuntu Kernel Audit"
echo "======================================"
if [ ! -f /etc/os-release ]; then
echo "ERROR: Cannot identify operating system"
exit 1
fi
. /etc/os-release
echo
echo "[OS]"
echo "Name: ${PRETTY_NAME:-Unknown}"
echo "Codename: ${VERSION_CODENAME:-Unknown}"
echo
echo "[Running Kernel]"
uname -r
uname -v
echo
echo "[Installed Kernel Images]"
dpkg -l 'linux-image*' 2>/dev/null | grep '^ii' || true
echo
echo "[Kernel Meta Packages]"
dpkg-query -W \
-f='${source:Package}\t${binary:Package}\t${Version}\n' \
2>/dev/null | grep '^linux-meta' || true
echo
echo "[Kernel Flavor]"
dpkg -l 2>/dev/null | grep -E \
'linux-(generic|aws|azure|gcp|oracle|oem|hwe)' || true
echo
echo "[Kernel Repository Policy]"
apt-cache policy linux-generic linux-image-generic 2>/dev/null
echo
echo "[Disk]"
df -h / /boot 2>/dev/null
echo
echo "[Reboot Status]"
if [ -f /run/reboot-required ]; then
echo "Reboot required"
else
echo "No reboot flag"
fi
echo
echo "[Proposed Sources]"
grep -Rni proposed \
/etc/apt/sources.list \
/etc/apt/sources.list.d/ 2>/dev/null || true
echo
echo "======================================"
echo " Audit completed"
echo "======================================"
保存为:
nano cve-2026-98432-audit.sh
执行:
chmod +x cve-2026-98432-audit.sh
sudo ./cve-2026-98432-audit.sh
批量管理时可以通过 Ansible 执行:
ansible ubuntu_servers \
-m script \
-a './cve-2026-98432-audit.sh'
这里的 ubuntu_servers 是你的 Ansible inventory 主机组名称。
十六、推荐的生产环境升级策略
结合不同版本的支持状态,我建议采用下面的策略:
| Ubuntu 版本 | 生产环境建议 | 是否立即启用 Proposed |
|---|---|---|
| 14.04 | 无需针对该 CVE 修复,规划迁移 | 否 |
| 16.04 | ESM Legacy,等待官方补丁 | 否 |
| 18.04 | ESM,等待官方补丁 | 否 |
| 20.04 | ESM,等待官方补丁 | 否 |
| 22.04 | 先测试修复内核 | 测试机可以 |
| 24.04 | 先测试修复内核 | 测试机可以 |
| 26.04 | 先测试修复内核 | 测试机可以 |
| 26.10 | 优先检查正式仓库及实时 CVE 状态 | 暂不盲目开启 |
我建议的升级顺序
-
先处理 Ubuntu 24.04
你目前已经有 24.04.5 VPS,可以用它验证 Proposed 内核升级流程。
-
再处理 Ubuntu 22.04
测试 5.15 内核升级,以及代理业务的 TCP/UDP 兼容性。
-
处理 Ubuntu 26.04 / 26.10
重点确认新内核和云厂商镜像兼容性。
-
处理 Ubuntu 20.04 / 18.04 / 16.04
检查 Ubuntu Pro、ESM 和后续补丁发布情况,同时规划系统迁移。
-
最后批量部署
测试通过后,再通过 Ansible 分批升级生产节点。
十七、特别说明:不要把关闭 MPTCP 当作漏洞修复
这个漏洞涉及 IPv4 TCP 连接处理中的内存释放时序问题。
虽然公开的利用描述涉及 MPTCP,但漏洞并不局限于 MPTCP。
所以:
sysctl net.mptcp.enabled=0
不能替代内核安全补丁。
Canonical 的官方建议是安装相应安全更新。
十八、官方资料汇总
| 资料 | 用途 |
|---|---|
| Canonical Proposed 修复公告 | 修复版本及升级方法 |
| Ubuntu CVE Tracker | 最新漏洞状态及内核变体 |
| Ubuntu Pro / ESM | 老版本安全维护 |
| Ubuntu Release 生命周期 | 发行版支持周期 |
| Ubuntu Server 升级文档 | 跨发行版升级方法 |
最终建议: 将这份教程作为所有 Ubuntu VPS 的统一运维标准,但不要把不同发行版的内核包混装。尤其是 22.04、24.04 和 26.04,当前 Proposed 版本应先经过测试,再进入生产环境。
你可以将不同服务器的审计脚本输出集中收集,我可以进一步帮你生成一份按照 Ubuntu 版本、内核类型、CVE 状态自动分类的批量升级清单。