Januscape
Januscape 是一个 Linux 内核 KVM 漏洞,由 x86 影子 MMU 中的释放后使用(UAF) 条件导致。在易受攻击的配置下,恶意客户机可以破坏宿主机内存,导致宿主机崩溃并可能破坏虚拟机隔离。
| 字段 | 值 |
|---|---|
| CVE | CVE-2026-53359 |
| 别名 | Januscape |
| 组件 | Linux 内核 KVM(x86 影子 MMU) |
| 漏洞类型 | 释放后使用 |
| 攻击向量 | 客户机虚拟机 |
| 影响 | 宿主机内核内存破坏 |
| 受影响平台 | Intel VT-x 和 AMD-V |
| 披露日期 | 2026 年 7 月 |
该漏洞存在于 KVM 的旧版影子分页实现中。
之前的安全修复验证了客户机页帧号(GFN),但在重用现有 kvm_mmu_page 之前未能验证影子页角色。
这导致不兼容的影子页面被重用,在内存已被释放后留下过时的反向映射(rmap)条目。
后续的 MMU 操作可能会解引用已释放的内存,导致释放后使用条件,从而破坏宿主机内核。
客户机修改页映射
│
▼
影子页被重用
但未验证角色
│
▼
过时的 rmap 条目残留
│
▼
影子页被释放
│
▼
后续 MMU 操作
解引用已释放的内存
│
▼
释放后使用
[ 123.456789] BUG: unable to handle page fault for address: ffff8881xxxxxxxx
[ 123.456789] #PF: supervisor read access in kernel mode
[ 123.456789] #PF: error_code(0x0000) - not-present page
[ 123.456789] CPU: 3 PID: 1234 Comm: poc_3 Tainted: G OE
[ 123.456789] RIP: 0010:kvm_mmu_page_get_gfn+0xXX/0xXX [kvm]
...
[ 123.456789] Call Trace:
[ 123.456789] pte_list_remove+0xXX/0xXX [kvm]
[ 123.456789] kvm_mmu_zap_all_fast+0xXX/0xXX [kvm]
[ 123.456789] kvm_mmu_notifier_invalidate_range+0xXX/0xXX [kvm]
...
[ 123.456789] Kernel panic - not syncing: Fatal exception
[ 123.456789] ---[ end Kernel panic - not syncing: Fatal exception ]---
官方内核修复通过确保重用前验证页面角色,解决了影子页重用逻辑问题。
可能受影响的环境包括:
易受攻击的路径主要与影子分页相关,该路径在使用嵌套虚拟化时可能会被触发。
当前公开信息显示:
管理员应:
dmesg、journalctl)。本仓库仅用于网络安全教育、防御性研究、应急响应和漏洞意识。
不包含任何攻击性工具或利用代码。