Januscape (CVE-2026-53359) is a 16-year-old use-after-free vulnerability in KVM/x86's shadow MMU that allows a guest to escape to the host on both Intel and AMD architectures.

Stars

512

7-day growth

No data

Forks

70

Open issues

4

License

No data

Last updated

2026-07-06

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

This is the first publicly known guest-to-host KVM exploit that works on both Intel and AMD, was used as a 0-day in Google kvmCTF, and has a massive 16-year dormant period affecting major public clouds.

Who it is for

  • Cloud security engineers
  • KVM/ virtualization developers
  • Public cloud tenants (e.g., GCP, AWS)
  • Linux distribution maintainers

Use cases

  • Testing KVM host isolation in multi-tenant environments
  • Demonstrating the need for nested virtualization restrictions
  • Assessing vulnerability impact for cloud providers
  • Understanding long-lived kernel memory safety bugs

Strengths

  • First cross-architecture (Intel/AMD) KVM escape exploit
  • Confirmed as a 0-day in the Google kvmCTF competition
  • Allows full host compromise (RCE) not just DoS
  • Lies dormant for ~16 years, showing deep kernel bug persistence

Considerations

  • Requires guest root privileges to load the PoC module
  • Requires nested virtualization to be enabled on the host
  • Full escape exploit not publicly released; only DoS PoC available

README quick start

Januscape: Guest-to-Host Escape in KVM/x86

Abstract

This document describes the Januscape (CVE-2026-53359) vulnerability discovered and reported by Hyunwoo Kim (@v4bel). It is a KVM escape vulnerability that lets a guest escape to the host in a KVM/x86 environment. To the best of public knowledge, this is the first guest-to-host exploit research triggerable on both Intel and AMD rather than being limited to a single architecture.

Januscape is a use-after-free vulnerability in the shadow MMU emulation of KVM/x86. It can trigger the bug with guest-side actions alone to corrupt the host kernel's shadow page, and it can threaten the guest-host isolation of KVM/x86 hosts that accept untrusted guests and expose nested virtualization, particularly multi-tenant x86 public clouds (GCP, AWS, etc.).

In fact, Januscape was successfully used as a 0-day exploit in Google kvmCTF.

For the detailed technical information, see here.

[!NOTE] After reporting this vulnerability to linux-distros@vs.openwall.org, the agreed embargo has ended, so the exploit is posted to oss-security and this Januscape document is published. For the disclosure timeline, see the technical detail document.

PoC Structure

Running the PoC inside a guest VM can trigger a host kernel panic. A full escape exploit that works in a controlled environment also exists, but it is not released at this time and is planned to be released in the very distant future.

On distributions like RHEL, /dev/kvm is world-writable (0666), so an unprivileged user could also turn this vulnerability into a reliable LPE to root. That said, doing so would be like paying gold for garbage, so I won't bother covering it.

PoC Usage

  1. Inside the guest VM, install the headers and build the module.
# sudo apt-get install -y build-essential linux-headers-$(uname -r)
# make
  1. Load the module inside the guest. KVM holds the raw VMX/SVM state, so unload it first. Load with no argument on Intel, and with amd=1 on AMD.
[Intel]
# sudo rmmod kvm_intel; sudo insmod poc.ko

[AMD]
# sudo rmmod kvm_amd; sudo insmod poc.ko amd=1
  1. The race starts, and within seconds to minutes the host KVM panics.
[*] poc step 4/4: race live -- host DoS triggering
...
kern

Related repositories

Similar projects matched by category, topics, and programming language.

Infatoshi
Featured
Infatoshi GitHub avatar

netherite

A from-scratch C/CUDA reimplementation of Minecraft 1.11.2 that is bit-verified against the original Java game and includes batched CUDA reinforcement learning support.

AI & Machine LearningLarge Language Models
251
nsdkinx
Featured
nsdkinx GitHub avatar

twell

Twell is a tiny, embeddable, zero-allocation physics engine for interruptible, Apple-style UI animations, available as a single-header C library with Python bindings.

MobileDesign & Creative
17
sqliteai
Featured
sqliteai GitHub avatar

waste

WASTE is a C-based inference engine that streams MoE experts from disk to run a 2.78 trillion-parameter model on a consumer laptop with 64 GB RAM.

Data & DatabasesData Engineering
14