Linux KVM Januscape (CVE-2026-53359): Guest-to-Host Escape
The bug only fires when nested virtualization forces KVM back through its legacy shadow MMU, which makes multi-tenant x86 hosts the primary concern.

On this page
Key takeaways
- Januscape (CVE-2026-53359) is a guest-to-host use-after-free in KVM's shared x86 shadow MMU affecting both Intel and AMD.
- The vulnerable code has existed since a 2010 commit.
- Exploitation requires root inside the guest and nested virtualization exposed by the host.
- The public PoC panics the host; the researcher says a withheld exploit runs code as root on the host.
- Stable fixes shipped July 4, 2026. If you can't patch, disabling nested virtualization removes the attack path.
What to do now
High urgency- Patch to a kernel including commit 81ccda30b4e8
- Verify the fix via the distribution package changelog
- Disable nested virtualization if immediate patching is not possible
Linux KVM Januscape (CVE-2026-53359) is a guest-to-host use-after-free in the shadow MMU that KVM shares across Intel and AMD x86 hosts. A guest VM triggers it to corrupt the host kernel's shadow-page state, which either panics the host or opens a path to code execution on it. The bug lives entirely in in-kernel KVM code, so no userspace VMM has to cooperate. Treat any exposed x86 KVM host as a priority patch target.
A 16-year-old use-after-free in Linux KVM's shadow MMU lets a guest VM crash or escape to its x86 host on Intel and AMD, fixed in June 2026.
Patch x86 KVM hosts that run untrusted guests with nested virtualization to a kernel including commit 81ccda30b4e8, or disable nested virtualization as a stopgap.
Affected & context
What is the Linux KVM Januscape flaw (CVE-2026-53359)?
Linux KVM Januscape (CVE-2026-53359) is a use-after-free in KVM's shared shadow MMU that lets a guest VM escape to its x86 host on both Intel and AMD. Security researcher Hyunwoo Kim (@v4bel) disclosed it. A guest can trigger the bug to panic the host or run code on it.
The vulnerable code dates to a 2010 commit, so it sat unnoticed for roughly 16 years. Kim's public proof-of-concept reliably panics the host; he says a separate, unreleased exploit turns the same bug into full host code execution. KVM maintainer Paolo Bonzini fixed it in mainline on June 19, 2026. See the NVD entry for CVE-2026-53359 and the mainline commit on git.kernel.org.
KVM underpins large-scale cloud deployments. A guest-triggerable bug that can crash or compromise the host threatens every tenant sharing the same physical machine.
- Vendors
- Linux kernel projectIntelAMD
- Products
- Linux kernel KVM (x86 shadow MMU)
- Geography
- Global
- Industry
- Cloud ComputingHosting
- CVEs
- CVE-2026-53359
What happened
How the Linux KVM Januscape flaw works
The shadow MMU is the KVM component that maintains private page tables mirroring guest memory. To run a VM, KVM keeps its own set of tracking pages and reuses existing ones when it can. Januscape abuses that reuse logic.
Kim described Januscape as the first guest-to-host exploit triggerable on both Intel and AMD, to public knowledge. He submitted it as a zero-day to Google's kvmCTF, the controlled KVM reward program that pays up to $250,000 for full guest-to-host escapes.
- Tracked as CVE-2026-53359 ('Januscape')
- Vulnerable code present since a 2010 commit
How it works
The problem is subtle. KVM matched pages by memory address alone and ignored the type of tracking page it was grabbing. Two different types can share the same address but do different jobs, so KVM would sometimes reuse the wrong kind. That mix-up scrambles KVM's internal records of which page belongs where.
Most of the time the kernel notices the inconsistency and shuts itself down to avoid damage. That's the host panic the public PoC triggers. The rarer, worse case happens when the freed tracking page is handed out for another use before cleanup runs. Cleanup then writes a value into memory KVM no longer owns. An attacker controls where that write lands, not what gets written, and even that limited primitive can lead to code execution on the host.
The flaw behaves the same on Intel and AMD chips. Only the final, hardest step of turning it into full control needs vendor-specific work, and the PoC carries a separate code path for each.
- Root cause: shadow page reuse matched on gfn only, ignoring page role
Who is affected
Root cause of the Linux KVM Januscape bug (CVE-2026-53359)
Januscape's root cause is a shadow-page reuse mismatch. KVM matched candidate pages by guest frame number (gfn) alone and ignored the page role, so it sometimes reused a page built for a different job. That corrupts KVM's shadow-page state.
We pulled the diff for commit 81ccda30b4e8 and confirmed the one-line change adds role.word to the reuse check in kvm_mmu_get_child_sp(): the pre-fix code matched pages by frame number alone.
Exploitation needs two conditions on the guest side: root inside the VM, common on rented cloud instances, and nested virtualization exposed by the host. Even on hosts that run hardware EPT or NPT by default, nested virtualization forces KVM back through the legacy shadow MMU, where the bug sits. See the commit on git.kernel.org (81ccda30b4e8).
Who is affected by CVE-2026-53359?
Januscape hits operators of x86 KVM hosts that run untrusted multi-tenant guests with nested virtualization enabled. Its worst-case impact is a full guest-to-host escape: the withheld exploit runs code as root on the host, exposing every other guest on the same machine to that root access.
Even the reliable path, a host panic, downs every co-tenant VM at once, so a single malicious tenant can cause a multi-tenant outage and, in the worst case, read across the tenant boundary. On distributions like RHEL, where /dev/kvm is world-writable (0666), the same bug could serve as a local privilege escalation to root. ARM64 hosts are not affected.
- Requires guest root plus host nested virtualization
- ARM64 hosts not affected
A busy few months for one researcher
Januscape is Kim's third Linux kernel disclosure in roughly two months, after Dirty Frag (CVE-2026-43284 / CVE-2026-43500) in May 2026 and ITScape (CVE-2026-46316), the first public KVM/arm64 guest-to-host escape, in June.
Google launched kvmCTF in 2024 because KVM underpins both Android and Google Cloud. A related KVM x86 shadow-paging use-after-free (CVE-2026-46113) was fixed in May 2026, making two shadow MMU use-after-frees in the same legacy path within two months.
What to do
How to patch CVE-2026-53359
The fix is a one-line addition to kvm_mmu_get_child_sp(): the reuse condition now checks role.word alongside the gfn, so a shadow page is reused only when both the frame number and the role match. KVM maintainer Paolo Bonzini wrote the patch, merged into mainline on June 19, 2026.
Fixed stable versions shipped July 4, 2026: 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211, and 5.10.260. We verified these tags are published on kernel.org. NVD has not yet assigned a CVSS score; don't wait for one.
- Confirm that your x86 KVM host kernel includes commit 81ccda30b4e8.
- Check the distribution package changelog rather than relying on uname -r alone, since backports may carry the fix under a different version number.
- If you can't patch immediately, disable nested virtualization to remove the attack path for untrusted guests.
# Intel hosts
kvm_intel.nested=0
# AMD hosts
kvm_amd.nested=0High-priority target
The public PoC demonstrates a reliable host panic from a guest with a loadable kernel module and seconds to minutes of racing. Treat exposed x86 KVM hosts with nested virtualization as high-priority patch targets.
- Fixed by commit 81ccda30b4e8
- Workaround: kvm_intel.nested=0 / kvm_amd.nested=0
Timeline
Vulnerable code introduced
Commit 2032a93d66fa introduces the shadow MMU code path (kernel 2.6.36 era) that later becomes vulnerable.
Source: Researcher disclosure
Confidence: High
Fix merged to mainline
Commit 81ccda30b4e8 corrects the shadow page reuse condition, merged into mainline June 19, 2026.
Source: Researcher disclosure
Confidence: High
Stable kernels ship
Fixed stable versions 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211, and 5.10.260 shipped July 4, 2026.
Source: Researcher disclosure
Confidence: High
Impact
A guest VM with root and nested virtualization can crash its x86 KVM host, downing all co-tenant VMs, or, per the researcher, execute code as root on the host.
Technical impact
Use-after-free corruption of KVM's shadow-page state, producing a host kernel panic or a controlled-address memory write.
Security impact
Potential guest-to-host escape with code execution as root on the host, and possible local privilege escalation where /dev/kvm is world-writable.
Privacy impact
Host-level code execution could expose data of other guests running on the same machine.
Affected audience: Cloud and hosting providers, IT admins running multi-tenant KVM, Virtualization platform operators
Action required.
Technical details
- CVEs
- CVE-2026-53359
- Exploitation
- Proof of concept
- Attack vector
- Guest-to-host from within a VM (requires guest root and host nested virtualization); no userspace VMM cooperation needed
- Affected versions
- Linux kernel with vulnerable shadow MMU code from commit 2032a93d66fa (2.6.36 era) onward, on x86
- Patched versions
- 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211, 5.10.260
- CWEs
- CWE-416
Mitigations
- Apply kernel update including commit 81ccda30b4e8
- Disable nested virtualization (kvm_intel.nested=0 or kvm_amd.nested=0)
Workarounds
- Disable nested virtualization for untrusted guests until patched
Response
Customer guidance
How to check if your Linux KVM host is patched against CVE-2026-53359
Confirm x86 KVM host kernels include commit 81ccda30b4e8, and check distribution changelogs rather than uname -r alone, since backports carry the fix under different version numbers. If patching isn't immediately possible, disable nested virtualization for untrusted multi-tenant guests.
Response status: Patched
Patch available: Yes
Workaround available: Yes
FAQ
What is Januscape (CVE-2026-53359)?
It's a use-after-free in Linux KVM's shared x86 shadow MMU that a guest VM can trigger to corrupt the host kernel's shadow-page state. That enables a host crash or guest-to-host code execution on both Intel and AMD.
What conditions are needed to exploit it?
An attacker needs root inside the guest VM and nested virtualization exposed by the host. No cooperation from QEMU or any userspace VMM is required.
How do I fix it?
Update to a kernel that includes commit 81ccda30b4e8. Fixed stable versions include 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211, and 5.10.260. Check your distribution changelog since backports may use different version numbers.
What if I cannot patch immediately?
Disable nested virtualization (kvm_intel.nested=0 or kvm_amd.nested=0), which removes the attack path for untrusted guests.
Are ARM64 hosts affected?
No. Januscape affects x86. A separate KVM/arm64 issue, ITScape (CVE-2026-46316), is unrelated.
The bottom line
Remediation: what to do now
Januscape (CVE-2026-53359) is a 16-year-old use-after-free in Linux KVM's shared x86 shadow MMU. A guest VM can trigger it to panic or escape to the host on Intel and AMD. Act now:
- Patch x86 KVM hosts to a kernel including commit 81ccda30b4e8.
- Verify via the distribution package changelog, not uname -r alone, since backports may use a different version number.
- If you can't patch, disable nested virtualization (kvm_intel.nested=0 or kvm_amd.nested=0) to remove the attack path for untrusted guests.
Any x86 KVM host running untrusted guests with nested virtualization is a high-priority patch target.
What happens next
NVD has not yet assigned a CVSS score. Don't wait for one before patching.
What to do
Patch to a kernel including commit 81ccda30b4e8 or disable nested virtualization for untrusted guests.
Sources
The Hacker News · Jul 5, 2026
Claims supported
- Januscape is a guest-to-host use-after-free in KVM's shared x86 shadow MMU affecting Intel and AMD.
- The fix (commit 81ccda30b4e8) was merged into mainline on June 19, 2026, with stable kernels on July 4, 2026.