TencentOS 安全团队监测到 Linux 内核 IPv4 网络栈存在虚拟机逃逸漏洞(CVE-2026-99999,代号 PwnEscape)。该漏洞源于内核在完成延迟校验和之前未校验 checksum_start 元数据,携带恶意校验和元数据的特制数据包可诱导向预期网络头之外的内存位置写入校验值。虚拟机或沙箱环境内的无特权攻击者可经 virtio-net 注入此类数据包,破坏宿主机内核内存,实现宿主机信息泄露、宿主机崩溃乃至获取宿主机 root 权限。该漏洞 Exp 已公开,于 2026 年 10 月 15 日披露,影响 TencentOS Server 2.4、TencentOS Server 3.1、TencentOS Server 3.3、TencentOS Server 4 全系列产品的内核。
监测到漏洞情报后,TencentOS 安全团队与开发团队第一时间对该漏洞进行分析,并已完成修复,对应修复版本经过充分测试验证后发布。鉴于该漏洞危害较大,建议您根据 TencentOS 安全团队提供的修复方案进行修复,或应用临时缓解措施。
注意:若您已使用 TencentOS Server,建议您及时开展风险自查,如受影响,请及时根据 TencentOS Server 提供的方案进行防护,确保您的系统安全。
1. 漏洞详情
IPv4 是 Linux 内核中实现 IPv4 协议处理的网络子系统。为提升性能,内核对经由虚拟化等路径注入的数据包支持延迟校验和:数据包携带
checksum_start、checksum_offset 元数据,指示校验和计算的起始位置与写入偏移,而该元数据可被数据包来源影响。该漏洞的根因在于 ipv4 栈在 skb_checksum_help 完成校验和之前未校验 checksum_start 的合法性,携带恶意元数据的数据包可诱导向预期网络头之外的内存位置写入校验值,造成宿主机内核内存破坏。该漏洞位于内核 IPv4 网络栈(
net/ipv4),攻击载荷主要经 virtio-net 半虚拟化网卡注入,运行 KVM 虚拟化业务的宿主机风险最高。攻击者可据此实现宿主机内核内存信息泄露、宿主机崩溃(拒绝服务);在受控 KVM 环境中,研究人员已验证可进一步获得宿主机 root 权限,完成虚拟机逃逸,对多租户云计算环境的隔离边界构成严重威胁。该漏洞影响 kernel 2.6.27 至 kernel 7.3 版本,由安全研究员 Paulos Yibelo 在 Vercel Sandbox 安全挑战中发现,公开披露后已被多方独立复现。警告:目前该漏洞的漏洞细节、Exp 均已公开,建议您尽快进行处理,以免出现安全事件。
2. 受影响 TencentOS Server 版本
TencentOS Server 4
TencentOS Server 3.3
TencentOS Server 3.1
TencentOS Server 2.4
说明:运行 KVM 虚拟化业务、且使用 virtio-net 半虚拟化网卡的宿主机风险最高。容器用户请联系主机运维人员,在主机上对内核模块加载情况进行检查。
自查方式
1. 查看环境内核版本是否在受影响范围内。
登录待查环境并执行以下命令:
uname -r
若输出的内核版本为以下任一,则表明当前环境受影响,需继续排查 virtio_net 模块启用情况:
5.4.*6.6.*2. 查看环境是否启用了 virtio_net 模块。
执行以下命令检查 virtio-net 半虚拟化驱动是否编译启用:
cat /boot/config-$(uname -r) | grep -w CONFIG_VIRTIO_NET
若输出为
CONFIG_VIRTIO_NET=m 或 CONFIG_VIRTIO_NET=y,则启用了 virtio-net 驱动,存在该攻击注入路径,受此漏洞影响;若输出为 # CONFIG_VIRTIO_NET is not set,则不具备该注入路径。注意:若以上排查结果为受影响,需要应用修复方案或临时缓解措施。
3. 漏洞修复方案
TencentOS Server 已完成该漏洞修复。建议受影响用户通过官方软件源更新至对应内核修复版本,并在业务变更窗口重启系统,使修复后的内核生效。各系统版本的修复后内核版本如下:
系统版本 | 修复后内核版本 |
TencentOS Server 2.4 | 5.4.119-19.0009.67.6.tl2 |
TencentOS Server 3.1 | 5.4.119-19.0009.67.6.tl3 |
TencentOS Server 3.3 | 5.4.241-24.0017.44.2.tl3 |
TencentOS Server 4 | 6.6.117-45.19.tl4 |
升级前可先确认当前系统版本与内核版本:
cat /etc/tencentos-release # 确认系统版本uname -r # 确认当前内核版本
各系统版本的修复命令如下:
# TencentOS Server 2.4sudo yum update -y kernel# TencentOS Server 3.1sudo dnf update -y kernel# TencentOS Server 3.3sudo dnf update -y kernel# TencentOS Server 4sudo dnf update -y kernel
注意:完成内核更新后,请在业务变更窗口完成系统重启。
重启后,执行以下命令确认当前运行内核已切换至修复版本:
uname -r
确认输出内核版本不低于对应 TencentOS Server 修复版本后,可视为内核侧修复已生效。若此前配置过临时缓解措施,可在确认业务需要与风险可控后,再按变更流程评估是否保留或移除该配置。
说明:执行
uname -r 后,部分版本显示不包含 tl3 等后缀,比对版本的数字编号即可。官方软件源中可能已提供高于上表的内核版本,升级至不低于表中版本均可视为修复生效。4. 临时缓解措施
该漏洞的攻击载荷经
virtio_net 内核模块注入。virtio_net 在 TencentOS 各内核分支均编译为可加载模块,可通过禁用该模块阻断攻击路径。警告:KVM 虚拟化宿主机上
virtio_net 模块承载全部虚拟机网络流量,禁用将导致虚拟机网络中断,请业务排查后执行;非虚拟化环境通常未加载该模块,禁用无业务影响。1. 用 root 用户检查 virtio_net 模块是否已经加载:
cat /proc/modules | grep virtio_net
若回显非空,则模块已加载,需先确认业务是否在使用虚拟机网络功能。
2. 禁止加载并卸载 virtio_net 模块:
sh -c "printf 'install virtio_net /bin/false\\n' > /etc/modprobe.d/block-CVE-2026-99999.conf; rmmod virtio_net 2>/dev/null; true"
3. 执行完成后检查是否应用成功:
cat /etc/modprobe.d/block-CVE-2026-99999.conf# 应当回显:install virtio_net /bin/falsecat /proc/modules | grep virtio_net# 应当回显空
若配置文件内容为
install virtio_net /bin/false,且 /proc/modules 中无 virtio_net 模块条目,则临时缓解措施已生效。后续如需恢复 virtio-net 功能,请删除
/etc/modprobe.d/block-CVE-2026-99999.conf 后重新加载模块,建议在完成正式修复升级后再恢复。