针对Linux KVM虚拟机逃逸高危漏洞的PoC利用代码已公开发布
一个针对Linux内核高危漏洞的概念验证(PoC)利用代码已公开发布,该漏洞可允许恶意虚拟机突破沙箱隔离,以完整内核权限在宿主机上执行任意命令。此次披露令ARM64云基础设施的运营者面临严峻安全威胁,相关方须立即采取应对措施。
该漏洞
该漏洞被追踪编号为 CVE-2026-46316,绰号"ITScape",由安全研究员 Hyunwoo Kim(@v4bel)发现并披露。该漏洞针对 KVM/arm64 的 vGIC-ITS(虚拟通用中断控制器 - 中断转换服务)模拟层,利用转换缓存在处理并发无效化请求时存在的竞争条件。
根据 6 月 10 日发布至 oss-sec 邮件列表的官方披露内容,该漏洞允许攻击者"在 KVM/arm64 环境中实现虚拟机逃逸,并以内核(root)权限在宿主机上执行命令"。研究员的 GitHub 仓库中指出,"就公开已知信息而言,这是首个针对 KVM/arm64 的虚拟机逃逸漏洞利用研究"。
技术细节
根本原因在于 vgic_its_invalidate_cache() 函数。该函数会遍历每个 ITS 的转换缓存,并释放各条目的引用。ITS 命令处理程序、GITS_CTLR 写入路径以及重分发器 GICR_CTLR 路径等多条代码路径,可能在缺乏适当互斥机制的情况下并发地清空同一缓存。当两个或多个执行上下文同时读取并擦除同一条目时,缓存中该条目的唯一引用将被多次释放,从而引发释放后使用(use-after-free)漏洞。
与通常针对 QEMU 等用户态模拟器的虚拟化逃逸漏洞不同,ITScape 存在于内核态的 KVM 本身之中,完全绕过了标准用户态防护机制。利用此漏洞需要具备客户机内核(EL1)权限,以驱动必要的 GIC/ITS MMIO 交互操作,但披露报告指出,该漏洞"仅凭客户机侧操作即可触发,并逃逸至宿主机"。
补丁与缓解措施
该漏洞影响的 arm64 内核版本跨越 2024 年 4 月下旬至 2026 年 6 月上旬。Linux 内核维护者已合并一个补丁,修改了无效化逻辑,使 vgic_put_irq() 仅针对 xa_erase() 的返回值释放其引用。CVE 记录于 6 月 9 日发布,PoC 代码于次日出现在 GitHub 上。
运行多租户 ARM64 KVM 环境的云运营商应立即确认已应用该补丁,因为可用漏洞利用代码的公开发布,使任何拥有访客内核访问权限的租户均可直接威胁到未打补丁系统的宿主机安全。