存在长达16年的LinuxKVM漏洞,英特尔、AMDx86平台虚拟机可突破隔离逃逸至宿主机

admin 2026-07-10 06:35:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: LinuxKVM虚拟化管理程序存在释放后重用漏洞CVE-2026-53359(Januscape),影响Intel和AMDx86平台,可导致虚拟机逃逸至宿主机。漏洞自2010年存在,需虚拟机root权限和宿主机开启嵌套虚拟化。官方修复补丁已发布,建议立即升级内核或关闭嵌套虚拟化以阻断攻击路径。 综合评分: 88 文章分类: 漏洞分析,应急响应,安全运营,红队,云安全


cover_image

存在长达 16 年的 Linux KVM 漏洞,英特尔、AMD x86 平台虚拟机可突破隔离逃逸至宿主机

鹏鹏同学 鹏鹏同学

黑猫安全

2026年7月7日 08:57 湖北

在小说阅读器读本章

去阅读

Linux KVM 虚拟化管理程序中存在一处释放后重用(use-after-free)漏洞,虚拟机内部即可触发该漏洞,篡改宿主机内核的影子页状态。

该漏洞被命名为Januscape,漏洞编号 CVE-2026-53359,存在于 KVM 影子内存管理单元(shadow MMU)代码中,英特尔、AMD x86 架构均受影响。目前公开的概念验证(PoC)程序仅能造成宿主机内核崩溃;研究人员称另有一套未对外发布的完整利用程序,可借助该漏洞实现宿主机任意代码执行。

本漏洞由安全研究员金贤宇(Hyunwoo Kim,账号 @v4bel)发现并上报。他表示,就公开资料来看,Januscape 是首类同时适用于 Intel、AMD 平台、可从虚拟机突破至宿主机的利用链,该漏洞隐匿时长约 16 年。

金贤宇将该漏洞利用程序作为零日漏洞提交至谷歌 kvmCTF 计划。这是谷歌推出的 KVM 漏洞专项赏金计划,成功实现虚拟机逃逸控制宿主机最高可获得 25 万美元奖金。

漏洞原理

KVM 运行虚拟机时,会维护一套独立页表,用于映射客户机内存布局。当需要使用这类跟踪页时,程序会尝试复用已存在的页面。

漏洞根源:KVM 仅通过内存地址匹配页面,未校验页面类型。两种不同功能的跟踪页可能占用同一内存地址,但职责完全独立,因此 KVM 会错误复用不匹配类型的页面。

页面类型混淆会彻底打乱 KVM 内部页归属管理记录,数据错乱后必然引发异常。

多数情况下,内核检测到内存异常会立即触发宕机,避免造成进一步破坏。公开 PoC 演示的就是该场景:攻击者在虚拟机内即可令宿主机崩溃,连带该物理机上所有其他虚拟机一同下线。

更严重的少数场景:被释放的跟踪页在内核完成清理前就被分配给其他业务逻辑使用。后续清理流程会向一块已不属于自身的内存写入数据。攻击者虽只能控制写入内存地址、无法自定义写入内容,但仅靠这一有限写入原语,仍可逐步构造利用链,最终在宿主机执行任意代码。

该漏洞触发逻辑在 Intel 与 AMD 处理器上完全一致;仅最后一步提权、完整控制宿主机的利用细节,两款平台需要不同实现代码。

受影响范围

漏洞代码自 2010 年 8 月提交记录2032a93d66fa(Linux 2.6.36 内核版本)起便存在,官方修复提交81ccda30b4e8于 2026 年 6 月 19 日合入主线内核。

利用该漏洞需满足两大客户机前置条件:

  1. 虚拟机内具备 root 权限(云租赁主机常见配置);
  2. 宿主机开启嵌套虚拟化功能。

即便宿主机默认启用硬件页表扩展 EPT(Intel)/NPT(AMD),嵌套虚拟化开启后,KVM 仍会回退至存在漏洞的传统影子 MMU 逻辑。

漏洞利用不依赖 QEMU 或任何用户态虚拟机管理组件,属于纯内核层 KVM 缺陷。

实际风险场景:所有搭载不可信租户虚拟机、且开启嵌套虚拟化的 x86 服务器。攻击者仅租用一台虚拟机,就能致使整台物理宿主机宕机,同机其他租户业务全部中断。

金贤宇表示,未公开的完整利用程序可在宿主机获取 root 权限,进而横向渗透同物理机内其余虚拟机。对于 RHEL 等发行版,/dev/kvm权限为全局可读写(0666),该漏洞还可用于本地提权至 root,但虚拟机逃逸宿主机的危害等级更高。

研究员近两月连续披露多个 Linux 内核高危漏洞

Januscape 是金贤宇两个月内公开的第三套 Linux 内核漏洞利用链:

  1. 2026 年 5 月:披露 Dirty Frag(CVE-2026-43284 / CVE-2026-43500),一套页缓存写入漏洞组合链,可在主流发行版稳定获取 root 权限,与脏管道(Dirty Pipe)、Copy Fail 属于同一类内存破坏漏洞。
  2. 2026 年 6 月:发布 ITScape(CVE-2026-46316),业内首套公开演示的 ARM64 架构 KVM 虚拟机逃逸漏洞,利用虚拟中断控制器竞争条件实现突破。

本次 Januscape 补齐 x86 平台逃逸漏洞;PoC 内置两套分支代码,分别适配 Intel、AMD 芯片,但底层触发漏洞完全相同。

谷歌 2024 年推出 kvmCTF 计划,核心原因是 KVM 同时支撑安卓系统与谷歌云业务。早在 2026 年 5 月,另一处同属影子页管理、原理相近但独立的释放后重用漏洞(CVE-2026-46113,rmap 匹配异常)已完成修复。短短两个月内,同一段老旧影子 MMU 代码路径出现两处释放后重用高危漏洞。

处置方案

修复补丁仅需在kvm_mmu_get_child_sp()函数增加一行判断:页面复用校验同时包含页帧编号 gfn 与页面角色 role.word,仅两项参数全部匹配时才允许复用影子页。补丁由 KVM 维护者 Paolo Bonzini 编写。

2026 年 7 月 4 日,各稳定分支内核推送修复版本:7.1.3、6.18.38、6.12.95、6.6.144、6.1.177、5.15.211、5.10.260。美国国家漏洞库 NVD 尚未给出 CVSS 风险评分,运维不可等待评分再修复。

运维处置建议

  1. 若运营多租户 x86 KVM 宿主机且开启嵌套虚拟化:确认内核包含修复提交81ccda30b4e8。各发行版反向移植补丁后内核版本号可能不一致,请勿仅依靠uname -r判断,需查阅软件包更新日志确认修复是否落地。
  2. 无法立即升级内核:关闭嵌套虚拟化(Intel:kvm_intel.nested=0;AMD:kvm_amd.nested=0),直接阻断不可信虚拟机的攻击路径。
  3. ARM64 宿主机不受 Januscape 漏洞影响;ITScape(CVE-2026-46316)是 ARM 架构独立漏洞,需单独处理。

公开 PoC 仅需虚拟机内加载内核模块、数秒至数分钟的竞争条件触发,即可稳定造成宿主机宕机。所有开启嵌套虚拟化的 x86 KVM 宿主机需优先完成补丁升级。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:黑猫安全 鹏鹏同学 鹏鹏同学《存在长达 16 年的 Linux KVM 漏洞,英特尔、AMD x86 平台虚拟机可突破隔离逃逸至宿主机》

评论:0   参与:  0