
Januscape 揭 KVM 16 年舊洞:開咗 nested VM 嘅 x86 host 要快手補
風險關鍵係 guest 有冇 VMX/SVM,唔好等 CVSS 先排期
Januscape 係咩
iThome 報道,研究員 Hyunwoo Kim 公開 Januscape(CVE-2026-53359),指 Linux KVM x86 嘅 Shadow MMU 有 use-after-free。呢類 bug 麻煩在於 VM 隔離層本身出事:guest 入面嘅操作有機會影響 host kernel。公開 PoC 係令 host kernel panic;研究員亦話有受控環境可用嘅 full escape exploit,但冇放出街。NVD 喺 7 月 4 日收錄 CVE,到 7 月 7 日仍未有 CVSS,呢點代表而家要靠攻擊條件同資產暴露程度排優先次序。

圖片:Hyunwoo Kim / Januscape GitHub
問題出喺邊
Januscape 打中 KVM/x86,即 Intel VMX 同 AMD SVM 都有份。技術上,Shadow MMU 重用 shadow page 時只睇 guest frame number,冇一齊核對 page 嘅 role;結果 direct split page 同 shadow guest page table 可能撞同一個 gfn,KVM 會拎錯舊 page 返嚟用,後面 rmap 清理就可能指住已經 free 咗嘅 shadow page。重點係漏洞喺 Linux kernel 入面嘅 KVM,唔屬於 QEMU device emulation 嗰層,換 QEMU 版本本身唔等於補咗呢個洞。
點解 nested virtualization 係關鍵
最易誤會嘅位係:現代 KVM host 平時用 EPT/NPT 加 TDP MMU,聽落好似避開 Shadow MMU。Januscape 借 nested virtualization 返入去;當 L1 guest 自己再開 L2 VM,L0 host 要用 software shadow L1 嘅 EPT/NPT,嗰條舊 Shadow MMU 路徑就會開返。即係話,要先查嘅係有冇畀 guest 用 VMX/SVM 開下一層 VM;host 硬件有幾新唔係保證。
邊啲環境最急
如果你只係租一部普通 VPS 跑 app,未必可以自己 patch host;你要睇 provider 點處理。同時,見到「cloud VM」幾個字唔等於即時中招:攻擊方一般要喺 guest 有 root,仲要 host 有 nested virtualization 暴露畀嗰部 VM。真正要今晚排 maintenance 嘅係自己管 x86 KVM compute host 嘅人,包括 Proxmox、OpenStack、libvirt/KVM、公司私有雲、homelab 對外借 VM,特別係同一部 host 放多個唔同信任邊界嘅 VM。
arm64 KVM 唔受 Januscape 呢條 x86 bug 影響,不過研究員早前另有 ITScape(CVE-2026-46316)講 arm64 KVM escape,未補嘅 arm64 host 都唔應該鬆懈。呢個分界好重要,因為公司盤點時成日只問「我哋有冇 KVM」,但今次優先次序要拆開 x86 + nested 同 arm64 另一條線睇,盤點時最好分開 x86 nested 同 arm64 另一條線,唔好一張 KVM 清單就算數。
Patch 要點
Kernel 修補唔係大改架構,核心係喺 kvm_mmu_get_child_sp() 重用 shadow page 前再比對 role.word。上游資料列出 7.1.3、6.18.38、6.12.95、6.6.144、6.1.177、5.15.211 同 5.10.260 已有修補;Debian tracker 亦顯示 trixie security 6.12.95-1 同 sid 7.1.3-1 標成 fixed。實務上唔好只睇 uname -r,RHEL、Ubuntu、Debian、Proxmox 呢類 distro 可能 backport 補丁但 package 版本名未必同 upstream 一樣,最穩陣係查 vendor advisory 或者 kernel package changelog。
冇 CVSS 都要排隊
就算 NVD 暫時未畀 CVSS,都唔應該當低危處理。我會咁排:第一批係 multi-tenant x86 KVM host + nested enabled + guest 唔可信;第二批係公司內部 VM 平台,但 developer 可以攞 root 同開 nested KVM;第三批係單租戶、冇 nested、guest 都係自己管嘅 lab。第一批應該優先 patch 同 reboot;第二批至少要關 nested 或者限制 VMX/SVM;第三批可以跟正常 kernel 更新,但都唔好拖到冇期。
未即刻 patch 點頂住
如果未可以即刻換 kernel,短期減風險係關 nested virtualization:Intel 睇 kvm_intel nested,AMD 睇 kvm_amd nested;libvirt、OpenStack、Proxmox 嗰邊亦要檢查有冇露出 vmx/svm CPU flag。關 host module parameter 只係其中一格,CPU mode host-passthrough、flavor extra specs、image metadata 都可能令 guest 見到 VMX/SVM。改前要諗 migration 同嗰啲真係要跑 nested workload 嘅 VM,例如 CI、Android emulator、lab hypervisor 呢類環境。
TechLab 睇法
呢個洞值得認真處理,但唔好亂嚇用戶。Januscape 嘅高危條件好清楚:x86 KVM、唔可信 guest、nested virtualization、host kernel 未補。對管 host 嘅人,下一步係盤點 nested exposure、確認 distro 補丁、排 reboot;對只租 VM 嘅人,重點係問 provider host kernel 同 nested policy,喺 guest 入面跑 scanner 幫唔到你確認 host 已補好。
參考來源
- iThome — 研究人員揭露Linux KVM潛藏16年漏洞,恐導致虛擬機逃逸存取底層實體主機 — original report
- V4bel/Januscape - GitHub — 研究員原始公告、PoC 條件、受影響範圍、guest root 同 nested virtualization 要求。
- Januscape: Guest-to-Host Escape in KVM/x86 (CVE-2026-53359) - oss-sec — 公開披露信,核對 embargo、CVE、Intel/AMD、kvmCTF 同 host panic PoC。
- KVM: x86: Fix shadow paging use-after-free due to unexpected role - Linux kernel commit — 上游修補 commit,核對 role.word 比對同 affected file。
- CVE-2026-53359 Detail - NVD — 核對 CVE 狀態、CVSS 暫未評分、fixed versions 同 stable commit references。
- CVE-2026-53359 - Debian Security Bug Tracker — 睇 distro backport 實際狀態,提醒唔好只靠 upstream version。
- Running nested guests with KVM - Linux Kernel documentation — 解釋 L0/L1/L2 nested KVM 同 x86 nested 參數背景。
- How to enable nested virtualization - Ubuntu Server documentation — 核對 kvm_intel/kvm_amd nested 檢查方法,同 guest 入面 vmx/svm flag 嘅實務檢查。
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







