PwnEscape(CVE-2026-99999)是一个影响 Linux 内核 IPv4 网络处理路径的高危漏洞。攻击者如果能够在特定虚拟机环境中执行代码,可能利用异常的校验和元数据触发宿主机内存泄露、系统崩溃,研究者还在自有实验环境中演示了进一步的宿主机代码执行。
这个漏洞并不是 KVM 本身的实现缺陷,而是位于 Linux 宿主机内核的网络处理逻辑中。对于运行多租户虚拟机、代码沙箱或不受信任工作负载的基础设施,重点是核实宿主机内核是否已包含修复补丁。
本文从漏洞原理、修复提交、上游影响版本和运维排查流程几个方面展开说明。实际修复状态应以所使用发行版的安全公告为准。
一、漏洞概况
| 漏洞编号 | CVE-2026-99999 |
| 漏洞名称 | PwnEscape |
| 公开时间 | 2026 年 10 月 15 日 |
| 严重程度 | Linux 内核 CVE 团队评分 CVSS 3.1 为 9.3;Red Hat 评分为 8.8 |
| 受影响组件 | Linux 内核 IPv4 网络处理路径 |
| 上游引入版本 | Linux 内核 2.6.27 |
| 主要风险 | 宿主机内存信息泄露、宿主机崩溃;研究者在实验环境中进一步演示了宿主机代码执行 |
| 攻击前提 | 本地攻击者或能够控制相关网络输入的不受信任虚拟机 |
| 上游修复提交 | 6785011f8b16 开头的提交 |
| 修复建议 | 更新到包含修复补丁的受支持内核,并按维护流程重启 |
需要区分两个事实:研究者在 Vercel 生产沙箱环境中验证了内存泄露;进一步的宿主机崩溃与代码执行链则是在研究者自有的实验环境中演示的。这并不等同于已经确认攻击者在生产环境获得了宿主机控制权。
二、漏洞原理:校验和元数据如何影响 IPv4 分片
2.1 校验和元数据的作用
网络数据包需要计算校验和,用于检测传输数据是否发生意外变化。为了提高网络处理效率,Linux 支持延迟完成部分校验和计算,由后续处理环节或网卡完成计算工作。
通过 virtio 网络设备传递的数据包可以携带相关元数据,例如:
-
csum_start:校验和计算的起始位置。
-
csum_offset:校验和结果写入的位置偏移。
这些字段本身属于正常的网络性能优化机制。问题在于,当异常元数据进入宿主机内核的 IPv4 网络处理路径时,如果后续操作没有充分验证这些参数,就可能破坏此前已经解析或验证过的网络头部。
2.2 漏洞触发过程
根据研究者披露和 Linux 内核 CVE 团队的公告,问题的关键在于:内核在完成校验和计算时,可能修改已经被后续代码信任的 IPv4 头部,而 IPv4 分片逻辑随后又使用了被改变的头部信息。
可以将主要处理过程概括为以下数据流:
| 1 | 虚拟机发包 | 虚拟机通过网络设备发送携带校验和元数据的数据包 | 宿主机需要处理来自虚拟机的数据及相关元数据 |
| 2 | 宿主机接收 | 内核解析校验和起始位置和结果写入偏移等字段 | 异常参数可能进入后续校验和处理流程 |
| 3 | 计算校验和 | skb_checksum_help() 根据相关元数据执行校验和计算 | 特定条件下,写入操作可能影响 IPv4 头部 |
| 4 | IPv4 分片 | ip_do_fragment() 根据 IP 头部信息执行分片 | 如果头部长度字段已被异常修改,后续处理可能使用错误的长度 |
| 5 | 内存信息泄露 | 分片处理可能将超出预期的数据纳入输出数据包 | 研究者报告了宿主机内存信息泄露 |
研究者描述的一个关键现象是,IPv4 头部的第一个字节可能从 0x45 变为 0x4f。
IPv4 头部第一个字节的高 4 位表示 IP 版本,低 4 位表示 Internet Header Length(IHL),单位为 4 字节:
-
0x45:IPv4,IHL 为 5,即头部长度为 20 字节。
-
0x4f:IPv4,IHL 为 15,即头部长度为 60 字节。
当后续分片逻辑依据被修改后的长度处理数据包时,就可能出现头部长度与实际有效数据不匹配的问题。研究者报告的实验结果中,相关路径导致了 32 字节宿主机内存数据泄露。
这是一条有特定触发条件的漏洞路径,并不意味着所有携带校验和元数据的数据包都会产生泄露。
2.3 上游修复做了什么
Linux 内核上游修复的主题为:
ipv4: validate checksum_start before completing checksum
修复新增了 ip_check_csum_start() 检查逻辑,在完成校验和计算之前验证校验和起始位置是否合理,避免相关位置落在不允许的网络头部区域。
这项检查被应用于多个网络处理路径,包括:
-
ip_do_fragment():IPv4 分片。
-
nf_br_ip_fragment():网桥相关的 IPv4 分片路径。
-
nf_queue_checksum_help():netfilter 队列中的校验和处理。
-
checksum_tg():iptables CHECKSUM 目标。
-
xfrm_output():IPsec 输出路径。
上游公告还指出,这项改动属于纵深防御措施。对于进入 IPv4 网络栈的异常校验和元数据,更完整的入口校验仍需要进一步完善。
上游修复提交可以通过 Linux 内核 CVE 公告和稳定分支补丁记录核对:
-
Linux 内核 CVE 公告:linux-cve-announce – CVE-2026-99999: ipv4: validate checksum_start before completing checksum
-
上游修复提交:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6785011f8b16
三、漏洞发现过程
根据研究者和相关项目披露的信息,漏洞发现与 Vercel 发起的沙箱安全挑战有关。
| 2026 年 8 月 18 日 | Vercel 发起总奖金池为 100 万美元的沙箱安全挑战 |
| 2026 年 8 月 20 日 | 研究者 Paulos Yibelo 提交宿主机内存泄露报告 |
| 2026 年 9 月 4 日 | 漏洞根因私下报告给 Linux 内核安全联系人及网络维护者 |
| 2026 年 10 月 8 日 | 修复进入网络子系统代码树 |
| 2026 年 10 月 14 日 | 修复合入 Linux 内核主线 |
| 2026 年 10 月 15 日 | CVE 信息公开 |
研究者表示,借助 AI 辅助研究工具,在数天内找到了相关漏洞,工具接口调用费用不到 700 美元。
这里需要区分研究成果的验证范围:Vercel 的公开说明确认了生产沙箱中的内存泄露验证;更进一步的宿主机崩溃和代码执行是在研究者自己的相应实验环境中完成的。不能把实验环境中的完整攻击链直接表述为已在 Vercel 生产环境实现宿主机代码执行。
参考资料:
-
研究者的技术披露:https://www.pwn.ai/blog/pwnescape
-
Vercel 沙箱挑战总结:https://vercel.com/blog/findings-from-the-1-million-dollar-vercel-sandbox-challenge
四、影响版本与修复状态
4.1 Linux 内核上游修复版本
Linux 内核 CVE 团队列出的首个修复版本如下:
| Linux 5.10 | 5.10.272 |
| Linux 5.15 | 5.15.223 |
| Linux 6.1 | 6.1.190 |
| Linux 6.6 | 6.6.159 |
| Linux 6.12 | 6.12.113 |
| Linux 6.18 | 6.18.57 |
| Linux 7.2 | 7.2.11 |
对于其他分支,应继续查看 Linux 内核 CVE 公告和对应稳定分支记录。上述版本是上游修复版本,不是所有 Linux 发行版统一适用的版本号。
不要只根据 uname -r 输出的数字判断系统是否已修复。 Debian、Ubuntu、RHEL、Rocky Linux、AlmaLinux 等发行版可能将安全补丁回移到自己的软件包中,软件包版本字符串不一定与上游版本号一致。
4.2 核对发行版安全公告
| Debian | 查询 Debian Security Tracker 和对应 DSA/DLA 公告 | 核对当前发行版、软件包版本和修复状态 |
| Ubuntu | 查询 Ubuntu Security Notices(USN) | 按对应 Ubuntu 版本和软件包状态判断 |
| RHEL | 查询 Red Hat CVE 页面及相关 RHSA 公告 | 页面标记为 Affected 时,继续检查是否已发布修复公告 |
| Rocky Linux / AlmaLinux | 查询各自的安全公告和内核软件包更新记录 | 不直接套用 RHEL 或上游版本号,核对本发行版的软件包 |
| 公有云虚拟机 | 查询云厂商针对客户虚拟机的公告 | 区分租户内核和云厂商管理的底层宿主机内核 |
截至本文核对时,Red Hat 的 CVE 页面将多个 RHEL 产品线列为受影响状态,并注明当时没有符合其标准的缓解方案。发行版修复状态可能继续变化,发布或执行升级前应重新查询官方公告。
五、Linux 宿主机排查与修复
建议按照“确认主机角色 → 检查系统版本 → 查询公告 → 安装修复 → 重启复核”的顺序操作。
5.1 确认主机角色和虚拟化环境
先判断当前系统是否为虚拟化宿主机,以及是否运行不受信任的虚拟机或沙箱工作负载。
# 查看内核版本
uname -r
# 查看内核模块(仅能显示已加载的模块)
lsmod | grep -E 'kvm|vhost_net|tun'
# 查看 TUN 类型网络接口
ip -d link show type tun
# 查看是否存在常见的 QEMU/KVM 进程
ps -ef | grep -E '[q]emu-system|[k]vm'
这些命令只能提供环境线索,不能单独证明系统是否承载虚拟机,也不能判断漏洞是否可利用。例如,部分功能可能编译进内核而不是作为独立模块加载;虚拟化管理方式不同,进程和接口表现也可能不同。
如果是云平台管理的底层宿主机,通常应由云服务商负责其内核维护;如果是自行管理的物理服务器或虚拟化节点,则需要由管理员核对并处理宿主机更新。
5.2 查看内核与发行版信息
# 当前正在运行的内核
uname -r
# 查看发行版信息
cat /etc/os-release
记录发行版名称、版本和当前运行内核,然后查询对应的安全公告。
不要将“内核版本低于上游修复版本”直接等同于“漏洞必然未修复”,也不要仅凭包管理器显示更新完成就认定当前正在运行的内核已经修复。
5.3 安装发行版提供的修复更新
以下命令仅为常见发行版的通用更新示例。执行前应先核实官方公告和仓库中提供的更新包,并评估生产环境兼容性。
Debian / Ubuntu:
sudo apt update
sudo apt full-upgrade
RHEL / Rocky Linux / AlmaLinux:
sudo dnf upgrade kernel
如果发行版公告要求更新其他关联内核软件包,应按照公告完整执行。对于生产环境,应提前确认维护窗口、业务兼容性、备份和回滚方案。不要在未评估影响的情况下直接重启关键业务宿主机。
5.4 重启并复核
内核软件包安装完成后,通常需要重启才能切换到新内核。按维护计划完成重启后,执行:
uname -r
然后再次核对发行版公告和软件包修复状态,确认当前实际运行的内核已经包含修复。
对于多节点虚拟化集群,应逐台核查所有相关宿主机,而不是只更新管理节点或单台服务器。还应确认业务虚拟机已按计划恢复运行。
5.5 容器和公有云场景如何处理
容器场景: 容器通常共享宿主机内核,因此只更新容器镜像中的软件,并不能修复宿主机内核漏洞。需要检查承载容器的宿主机内核及发行版公告。
公有云虚拟机: 如果你只是云平台租户,通常无法直接维护底层物理宿主机。应关注云厂商公告,同时按自身虚拟机所用发行版的公告更新客户系统。客户虚拟机内核与底层宿主机内核是两个不同的维护对象。
自建虚拟化环境: 如果宿主机运行不受信任的虚拟机、构建任务或代码沙箱,应优先核实宿主机修复状态,并在完成更新后复核所有相关节点。
六、常见问题
Q1:我的业务运行在公有云虚拟机里,需要自己修复宿主机吗?
通常不需要,也无法直接管理云厂商的底层宿主机。应关注云厂商对基础设施的修复公告,并按客户虚拟机所使用的操作系统发行版公告维护自身内核。
Q2:容器会不会受到影响?
容器与宿主机共享内核,因此需要重点检查承载容器的宿主机是否已修复。不能仅通过更新容器镜像来解决宿主机内核问题。
Q3:关闭网卡校验和卸载能否作为临时缓解方案?
目前不应将关闭网卡校验和卸载视为已验证的通用缓解措施。应以官方公告明确给出的措施为准,并优先安装包含修复补丁的内核。
Q4:为什么安装了新内核,检查时仍显示旧版本?
软件包安装完成并不一定意味着系统已经切换到新内核。需要按发行版维护流程完成必要的重启,再执行 uname -r 确认当前运行的内核,并核对对应软件包的修复状态。
七、总结
PwnEscape(CVE-2026-99999)的关键问题在于 Linux 内核对异常校验和元数据的处理,以及后续 IPv4 分片逻辑对头部信息的使用。该漏洞影响的是宿主机内核网络处理路径,而不只是某一个虚拟化软件。
对于运维人员,建议优先完成以下工作:
确认系统是否承担虚拟化宿主机或不受信任工作负载的运行职责。
按发行版和软件包核对漏洞状态,不要只根据内核主版本号判断。
安装官方提供的修复更新,并按维护流程重启。
重启后复核实际运行内核和修复状态,并逐台检查相关宿主机。
目前不应把关闭某个网络功能或调整虚拟化配置当作内核补丁的替代品。对于承载多租户虚拟机、构建任务或代码沙箱的基础设施,应优先完成官方修复,并继续关注内核及发行版公告的后续更新。
参考资料
Linux 内核 CVE 团队公告:linux-cve-announce – CVE-2026-99999: ipv4: validate checksum_start before completing checksum
Red Hat CVE-2026-99999 公告:CVE-2026-99999 – Red Hat Customer Portal
PwnEscape 研究者技术报告:https://www.pwn.ai/blog/pwnescape
AlmaLinux 漏洞说明与修复进度:PwnEscape (CVE-2026-99999): Patched kernels available in testing | AlmaLinux OS
Linux 内核归档:https://cdn.kernel.org/



