KVM逃逸漏洞Zapscape
Linux已修复一项自5.9起受影响的影子MMU漏洞,研究者另称在特定AMD嵌套虚拟化环境完成了从客户机到宿主机root的完整链。
60 秒版本
Linux修复了一项回收期间可使活动根页失效的KVM/x86影子MMU漏洞;研究者另称在特定AMD嵌套环境完成了客户机到宿主机root链。
要点
- 官方受影响范围从Linux 5.9开始,稳定分支修复点包括6.6.148、6.12.101、6.18.42和7.1.6。
- 主线修复提交2abd5287f083把过期根页检查移到影子页回收之后,并在根页失效时重试缺页。
- 暴露面涉及x86 KVM影子MMU与嵌套虚拟化,研究者称公开攻击模型需要客户机root权限。
- Intel还需同时向L1暴露EPT四级与五级遍历能力;研究者称AMD没有这一额外条件。
- Linux 7.1.3 AMD环境中的完整root链是研究者PoC结果,本文所引来源未确认独立复现。
结论. 修补宿主机内核,并停止向不受信客户机开放非必要的嵌套虚拟化;既不能把特定PoC当作普遍可利用,也不能因此延后修复。
Linux已确认并修复CVE-2026-64561,这是一项位于KVM/x86影子MMU的内存安全漏洞。官方记录把受影响边界定为Linux 5.9起,并列出多个稳定分支修复版本;研究者另以Zapscape之名披露,称在特定AMD嵌套虚拟化测试环境完成了客户机到宿主机root的完整链。
确认范围Linux官方确认了什么
官方CVE记录描述了KVM影子MMU缺页处理中的顺序错误。KVM可能先检查根页是否过期,随后在回收影子页时使这个正在使用的根页失效,最后仍继续在其下建立内存映射。
子影子页会继承父页角色。若处理在失效根页下继续,新建子页也可能带有失效状态,却进入活动MMU页列表,从而破坏KVM内部不变量,并形成宿主机内核内存安全条件。
漏洞机制失效根页如何破坏隔离
嵌套虚拟化允许L1客户机继续运行L2客户机。L0宿主机需要跟踪L1构造的地址转换结构,因此即使普通客户机内存由硬件EPT或NPT处理,x86 KVM仍会为嵌套页表使用软件影子页。
KVM会限制每个虚拟机的影子页数量,并在空间不足时回收旧页。修复前,回收发生在过期根页检查之后;如果回收使当前根页失效,同一个缺页过程仍可能在这个已失效根页下创建后代页。
问题不是KVM没有检查过期根页,而是回收动作可能在检查通过后才让根页过期。
暴露条件触发前提具有明确边界
这并不意味着所有Linux虚拟机都能逃逸。相关路径涉及x86 KVM影子MMU与嵌套虚拟化。研究者称,公开攻击模型还要求攻击者在L1客户机中拥有root权限。
| 共同条件 | 受影响的x86 KVM宿主机、与嵌套虚拟化相关的影子MMU活动,以及攻击者对L1客户机的内核级控制。 |
|---|---|
| Intel | 研究者称需启用嵌套VMX/EPT,并同时向L1暴露EPT四级和五级页表遍历能力;只有其中一种不足以形成其演示使用的别名。 |
| AMD | 研究者称嵌套SVM/NPT不需要Intel双EPT遍历长度这一额外条件。 |
| 实际可利用性 | 满足前提代表存在暴露面,不等于必然可利用;内核配置、内存后端、加固和适配仍会影响结果。 |
公开演示Zapscape PoC报告了什么
Zapscape仓库称,公开演示以Linux 7.1.3和AMD嵌套SVM/NPT为目标,并使用QEMU TCG构建受控测试平台。研究者称其把失效页状态扩展为释放后使用,进而完成客户机到宿主机的完整链,并在宿主机产生root所有的效果。
仓库同时说明,这不是可在云环境中立即运行的成品攻击。真实环境仍需适配提供商的宿主机内核配置、内存后端与虚拟化栈。本文不提供可操作利用步骤,只讨论防御评估。
修复处置修复版本与运维动作
| Linux 6.6稳定分支 | 6.6.148及该分支后续版本已修复。 |
|---|---|
| Linux 6.12稳定分支 | 6.12.101及该分支后续版本已修复。 |
| Linux 6.18稳定分支 | 6.18.42及该分支后续版本已修复。 |
| Linux 7.1稳定分支 | 7.1.6及该分支后续版本已修复。 |
| 主线 | 提交2abd5287f083完成修复;CVE记录将7.2-rc5标为包含原始修复。 |
- 1. 清点x86 KVM宿主机,识别哪些系统向不受信客户机开放了嵌套虚拟化。
- 2. 安装当前稳定分支或发行版对应的修复内核,并确认宿主机实际运行的已是更新版本。
- 3. 业务不需要时,对不受信工作负载关闭嵌套虚拟化;Intel环境还应审查向L1暴露的EPT能力。
- 4. 监控宿主机内核日志与集群遥测中的异常KVM警告、崩溃或不稳定,但不能用监控代替修补。
- 5. 限制本地用户访问KVM设备作为纵深防御,不把权限控制视为内核修复的替代方案。
处置结论明确:优先修补受影响KVM宿主机,再减少不必要的嵌套虚拟化暴露。进行风险定级时,应始终区分官方漏洞边界与研究者在特定配置下报告的完整链。