首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

Zapscape (CVE-2026-64561)

摘要

Zapscape: Guest-to-Host Escape in KVM/x86 This document describes the Zapscape (CVE-2026-64561) vulnerability discovered and reported by Hyunwoo Kim (@v4bel) . It is a KVM escape vulnerability that le...

the and guest kernel KVM x86 vulnerability that host Zapscape
2026-08-07 1 阅读 约7分钟阅读 john_strinlai
分享:
字号:
Zapscape:KVM/x86 中的来宾到主机逃逸 本文档介绍了 Hyunwoo Kim (@v4bel) 发现和报告的 Zapscape (CVE-2026-64561) 漏洞。这是一个 KVM 逃逸漏洞,可让访客逃逸到 KVM/x86 环境中的主机,并以内核(root)权限在主机上运行命令。 Zapscape 是 KVM/x86 影子 MMU 模拟中的释放后使用漏洞,特别是在回收影子页面时运行的递归 zap 路径中。它可以仅通过来宾端操作触发该错误,从而破坏主机内核的影子页面,并且可能威胁接受不可信来宾并暴露嵌套虚拟化的 KVM/x86 主机的来宾主机隔离,特别是多租户 x86 公共云。有关详细技术信息,请参见此处。注意 向 linux-distros@vs.openwall.org 报告此漏洞后,约定的禁运已结束,因此该漏洞将发布到 oss-security 并发布此 Zapscape 文档。有关披露时间表,请参阅技术细节文件。 PoC 是针对 AMD 编写的,为了安全测试,建议在 QEMU TCG 下运行它。 PoC 具有以下结构。 L0:由 QEMU TCG 模拟的 x86_64 CPU (AMD SVM/NPT) 上的 Linux 7.1.3 + KVM_AMD。逃生目标└─L1:访客poc创建。切换 long -> PAE 将一个影子页面别名为子页面和固定根页面,然后 L1 将 UAF 升级为 L0 内核代码执行└─ L2:来宾 L1 VMRUN。它的内存触及触发 L0 的配额回收 -> 没有 root_count 保护的递归 zap -> UAF 此 PoC 不是立即在云环境中运行的武器化漏洞,而是在 QEMU TCG 之上重现漏洞和完整漏洞链的演示代码。要在真实的云环境中使用它,PoC 执行的 L1 操作必须移至来宾内核模块中,并且必须移植漏洞以匹配主机内核的 kconfig。这不是一项艰巨的任务。下载存在漏洞的 v7.1.3 内核源代码,然后基于捆绑的 kconfig 构建内核映像。构建PoC,然后使用BusyBox等编写合适的initramfs,并将构建的PoC放入initramfs中。 # gcc -O2 -g -static -pthread poc.c -o poc 使用以下命令引导 Linux 7.1.3 目标。在 QEMU v9.2.0 或更高版本上进行测试。 # ./qemu.sh bzImage initramfs.cpio.gz QEMU TCG 启动后,运行 PoC。成功利用后,它会逃脱客户机并创建主机上 root 拥有的 /Zapscape 文件。 /$$$$$$$$ /$$$$$$ /$$$$$$$ |_____ $$ /$$__ $$| $$__ $$ /$$/ | $$\$$| $$ \ $$ /$$/ | $$$$$$$$| $$$$$$$/ /$$/ | $$__ $$| $$____/ /$$/ | $$ | $$| $$ /$$$$$$$$| $$ | $$| $$ |____/|__/ |__/|__/ [+] /Zapscape 由目标 KVM 主机内核创建(所有者 uid=0,模式=0644)。 [+] 漏洞利用已完成 - 验证方式为: ls -la /Zapscape zapscape(uid=65534)$ ls -la /Zapscape -rw-r--r-- 1 root root 0 Jul 29 05:27 /Zapscape zapscape(uid=65534)$ 此 PoC 旨在提供准确的信息。不要在您无权测试的系统上使用它。 Zapscape (CVE-2026-64561) 涵盖范围从 f95eec9bed76 (2020-07-08) 到 2abd5287f083 (2026-07-21) 。该漏洞有什么影响?与 Januscape (CVE-2026-53359) 相同:KVM 逃逸:仅通过来宾端操作,攻击者就可以危害运行其 VM 的主机。例如,在公共云上仅租用单个实例的攻击者可能会使主机内核陷入恐慌,从而关闭同一台物理机上的所有其他租户虚拟机 (DoS),或者在主机上以 root 权限运行代码以接管主机及其上的所有来宾 (RCE)。 LPE:在 RHEL 等发行版上,/dev/kvm 是全局可写的 (0666),因此非特权用户也可以利用此漏洞作为 LPE 来获取 root 权限。当它用作 LPE 时,主机端 VMM ioctl 可用,因此漏洞利用变得更容易、更稳定。这与 Januscape 有什么关系?它发生在同一个影子 MMU 中,但它是一个具有不同根本原因的单独漏洞。也就是说,与 Januscape 不同,在 Intel 上,只有当 EPT 页面遍历长度 4 和 5 都暴露于 L1 时才能触发。这是评估受影响范围的重要一点,因此必须准确理解。请参阅技术细节文档。 QEMU中是否存在此漏洞?不会。与 Januscape 一样,它发生在内核 KVM 中,因此它的触发独立于 QEMU 的仿真。正因为如此,它还可能威胁到实施和使用自己的虚拟化堆栈的大型公共云。我需要在来宾虚拟机内获得 root 权限吗?是的。需要 L1 内核权限。当您在公共云上分配实例时,您通常在自己的虚拟机上具有root权限,因此这是满足的。在没有来宾根的情况下,它必须与 LPE(例如 Dirty Frag )链接。您认为 KVM 漏洞会不断出现吗?是的。我建议为主机虚拟机管理程序建立一个可持续的修补流程。冬天来了。三部曲之后你有计划拍续集吗?我希望不会。
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱