研究人员 Paulos Yibelo 于十月初披露了 Linux KVM(Kernel-based Virtual Machine,即基于内核的虚拟机)中存在的一个高危漏洞。该漏洞被命名为 PwnEscape,允许攻击者从客户机(Guest VM)逃逸至宿主机(Host)。目前,该漏洞已被登记为 CVE-2026-99999,其 CVSS 评分高达 9.3,属于严重级别。

虚拟化技术的核心在于通过隔离机制将硬件资源划分为多个独立的“客户机”虚拟机,确保它们无法窥探其他虚拟机或宿主机的活动。公有云和私有云均依赖这种隔离性来保障安全。一旦客户机与宿主机之间的隔离边界被突破,攻击者理论上可访问宿主机及虚拟化资源池中的所有虚拟机,甚至包括运行在微虚拟机中的容器。PwnEscape 的实现方式是通过发送几个格式错误的 IPv4 数据包,从而完成从客户机到宿主机的逃逸。
Red Hat 工程师 Michael S. Tsirkin 在 Linux 内核稳定树的邮件列表中指出:“如果带有错误校验和元数据的数据包进入 ipv4 协议栈,skb_checksum_help 可能会破坏网络标头并引发一系列混乱。”
威胁情报公司 SOC Prime 的分析进一步解释了这一机制。Linux 网络堆栈允许数据包携带元数据,以指示校验和操作应从哪里开始以及结果写入何处。这种优化广泛用于校验和卸载功能。然而,当低信任度、由客户机控制的元数据能够在数据包标头通过早期验证阶段后影响写入操作时,安全问题随之产生。由于披露的漏洞可以被反复触发,控制客户机工作负载的攻击者可能从虚拟机本不应检查的安全域中收集信息,这直接导致了客户机-宿主机隔离边界的失效。
根据 Red Hat 的报告,该漏洞的影响范围包括在宿主机上执行任意代码、导致拒绝服务的系统崩溃,以及敏感内存的信息泄露。
发现该漏洞的研究人员 Paulos Yibelo 认为,PwnEscape 揭示了一种针对 Linux 的新型攻击向量。“据我们所知,PwnEscape 暴露了 Linux 网络中一类全新的攻击:不受信任的校验和元数据可以在内核已经验证并处理之后重写安全敏感的字段,从而破坏了整个网络堆栈中的假设,远超最初的虚拟机逃逸范围,”Yibelo 写道。
他补充道,流行的思维模型认为虚拟机隔离存在于虚拟机监控程序中,但受攻击者控制的工作负载不仅与 arch/x86/kvm/ 交互,还与充满优化、高度可组合接口的宿主操作系统交互。“如果元数据跨越了信任边界,每个延迟消费者都必须继承正确的不变量。如果数据包在这些不变量被检查后发生转换,那么在新表示形式中这些不变量必须保持为真。”
Yibelo 指出,看似简单的格式错误校验提示之所以演变为内存泄露和客户机到宿主机逃逸原语,关键在于 Linux 的不同部分被允许信任同一数据包的不同版本。这是一个重要的观察,因为虽然 Linux KVM 广泛使用且免费,但它只是包含超过 4000 万行代码的 Linux 项目的一部分。
供应商 Edera 上周评论称,Linux 巨大的代码库构成了显著的攻击面。该公司提供基于 Xen 虚拟机监控程序的安全容器运行时,并指出仅今年一年,研究人员就发现了七个类似的逃逸漏洞,其中包括 Januscape。





