Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/v4bel/zapscape
权限提升漏洞分析漏洞利用安全虚拟化云安全二进制利用
GitHubv4bel/zapscape

Zapscape

针对 CVE-2026-64561 的 PoC 漏洞利用,该漏洞是 KVM/x86 影子 MMU 中的释放后使用(use-after-free)漏洞,可实现 guest-to-host 逃逸,并能在宿主机上以内核 root 权限执行代码。

查看仓库
101551个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

KVM 逃逸三部曲

ITScape
ITScape
(CVE‑2026‑46316)
Januscape
Januscape
(CVE‑2026‑53359)
Zapscape
Zapscape
(CVE‑2026‑64561)

Zapscape:KVM/x86 中的客户机到宿主机逃逸

tux

摘要

demo

本文档描述了由 Hyunwoo Kim (@v4bel) 发现并报告的 Zapscape (CVE-2026-64561) 漏洞。这是一个 KVM 逃逸漏洞,允许客户机在 KVM/x86 环境中逃逸到宿主机,并以内核(root)权限在宿主机上执行命令。

Zapscape 是 KVM/x86 的影子 MMU(shadow MMU)模拟中的一个释放后使用(use-after-free)漏洞,具体位于回收影子页时运行的递归 zap 路径中。仅凭客户机侧的操作即可触发该漏洞,破坏宿主内核的影子页,从而威胁那些接受不受信任客户机并暴露嵌套虚拟化的 KVM/x86 宿主机(尤其是多租户 x86 公有云)的客户机-宿主机隔离。

详细技术信息请参见此处。

[!NOTE] 在向 [email protected] 报告此漏洞后,商定的保密期(embargo)已经结束,因此利用代码已发布到 oss-security,本文档(Zapscape 文档)也已公开。有关披露时间线,请参阅技术详情文档。

PoC 结构

该 PoC 以 AMD 为攻击目标编写。为安全测试起见,建议在 QEMU TCG 下运行。PoC 结构如下。

root@kitploit:~
L0: Linux 7.1.3 + KVM_AMD on an x86_64 CPU (AMD SVM/NPT) emulated by QEMU TCG. The escape target
  └─ L1: the guest poc creates. Switching long -> PAE aliases one shadow page as both child and pinned root, and L1 then escalates the UAF into L0 kernel code-exec
       └─ L2: the guest L1 VMRUNs. Its memory touches trigger L0's quota reclaim -> recursive zap with no root_count guard -> UAF

该 PoC 不是可在云环境中立即运行的武器化利用代码,而是在 QEMU TCG 之上重现漏洞及完整利用链的演示代码。要在真实云环境中使用,需要将 PoC 所执行的 L1 操作移入客户机内核模块,并根据宿主内核的 kconfig 移植利用代码。这并非难事。

PoC 使用方法

  1. 下载存在漏洞的 v7.1.3 内核源码,然后基于随附的 kconfig 构建内核镜像。
  2. 构建 PoC,然后使用 BusyBox 或类似工具制作合适的 initramfs,并将构建好的 PoC 放入 initramfs。
root@kitploit:~
# gcc -O2 -g -static -pthread poc.c -o poc
  1. 使用以下命令启动 Linux 7.1.3 目标系统。请在 QEMU v9.2.0 或更高版本上测试。
root@kitploit:~
# ./qemu.sh bzImage initramfs.cpio.gz
  1. QEMU TCG 启动后,运行 PoC。利用成功时,它将逃逸出客户机,并在宿主机上创建属主为 root 的 /Zapscape 文件。
root@kitploit:~
 /$$$$$$$$  /$$$$$$  /$$$$$$$
|_____ $$  /$$__  $$| $$__  $$
     /$$/ | $$  \ $$| $$  \ $$
    /$$/  | $$$$$$$$| $$$$$$$/
   /$$/   | $$__  $$| $$____/
  /$$/    | $$  | $$| $$
 /$$$$$$$$| $$  | $$| $$
|________/|__/  |__/|__/

[+] /Zapscape created by the target KVM host kernel (owner uid=0, mode=0644).
[+] exploit completed - verify with: 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) 相同:

  1. KVM 逃逸:仅凭客户机侧的操作,攻击者即可入侵运行其虚拟机的宿主机。例如,攻击者只需在公有云上租用单个实例,就能让宿主内核 panic,从而摧毁同一台物理机上的所有其他租户虚拟机(DoS);或者在宿主机上以 root 权限执行代码,从而接管宿主机及其上的所有客户机(RCE)。
  2. 本地提权(LPE):在 RHEL 等发行版上,/dev/kvm 是全局可写的(0666),因此非特权用户也可利用此漏洞进行本地提权以获取 root。当用作 LPE 时,宿主机侧的 VMM ioctl 可用,利用过程会变得更简单、更稳定。

它与 Januscape 有什么关系?

它发生在同一个影子 MMU 中,但属于根因不同的独立漏洞。

话虽如此,与 Januscape 不同,在 Intel 平台上,只有同时向 L1 暴露 EPT 页表遍历长度 4 和 5 时才能触发该漏洞。在评估受影响范围时这一点非常重要,必须准确理解。请参阅技术详情文档。

该漏洞会出现在 QEMU 中吗?

不会。与 Januscape 一样,它发生在内核态 KVM 中,因此在 QEMU 的模拟之外独立触发。正因如此,它同样可能威胁到那些自行实现并使用自有虚拟化栈的大型公有云。

我需要在客户机虚拟机内拥有 root 吗?

需要。必须拥有 L1 内核权限。当你在公有云上分配到实例时,通常对自己的 VM 拥有 root 权限,因此这一条件可以得到满足。在没有客户机 root 的场景中,必须与 Dirty Frag 等 LPE 漏洞链式利用。

你认为 KVM 漏洞会不断出现吗?

会。我建议为宿主机的虚拟化层建立可持续的补丁管理流程。凛冬将至。

三部曲之后你打算推出续作吗?

希望不会。

下载工具