SecPod

Learn Search

Search across all Learn content

← Back to Security Research
Januscape: 16-Year-Old Linux KVM Guest-to-Host Escape (CVE-2026-53359)

Januscape: 16-Year-Old Linux KVM Guest-to-Host Escape (CVE-2026-53359)

Jul 9, 2026By Gayathri G

Overview

Vulnerability Name: Januscape

CVE ID: CVE-2026-53359. It is closely related to an earlier, already-fixed bug in the same shadow-paging code path, CVE-2026-46113, which was patched upstream in May 2026. Because both flaws touch the same validation gap, patch verification should confirm both commits are present rather than assuming CVE-2026-53359's fix alone is sufficient — but CVE-2026-46113 itself does not need to be newly re-applied on systems that received the May 2026 update.

Severity: NVD has not yet published an official CVSS score. Red Hat has independently rated it 7.0 (Important), and third-party aggregators list a CVSS 3.0 score of 7.8 (High). The practical severity should be treated as high, regardless of the pending official score.

Affected Products / Versions: The Linux kernel's KVM/x86 shadow MMU code, shared between Intel VMX/EPT and AMD SVM/NPT platforms. The flaw has existed since commit 2032a93d66fa, introduced around August 2010, and was fixed by commit 81ccda30b4e8, merged on June 19, 2026. Fixed stable kernel lines include 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211, and 5.10.260.

Discovered By: Hyunwoo Kim (@v4bel), an independent security researcher who originally demonstrated the bug as a zero-day submission through Google's kvmCTF vulnerability reward program.

Published Date: The CVE was assigned on July 4, 2026, with public disclosure and a technical write-up following on July 6, 2026, after the coordinated disclosure embargo lifted.

Short Description: Januscape is a use-after-free vulnerability in the shadow MMU emulation code of KVM/x86. A guest virtual machine with root-level access can trigger the bug using guest-side actions alone, corrupting the shadow page state of the host kernel that runs it. Because the flaw lives in code shared between Intel and AMD platforms. According to the researcher, it is the first publicly documented guest-to-host KVM escape shown to work across both CPU architectures from a single trigger. It poses a direct threat to the guest and host isolation boundary that multi-tenant x86 clouds and virtualization platforms rely on, particularly where nested virtualization is exposed to untrusted guests.

Exploit Maturity Assessment

A working proof-of-concept for the denial-of-service variant of this vulnerability is publicly available and reliable, which lowers the practical barrier to exploitation well below what the pending CVSS score alone would suggest. The researcher has also confirmed the existence of a fully functional guest-to-host code-execution exploit, though this has been deliberately withheld from public release. No weaponized, in-the-wild exploitation has been observed to date.

FactorAssessment
Exploit StatusPublic PoC available for the host-crash, denial-of-service scenario. A separate functional exploit for full host code execution exists but has not been released.
Exploit AvailabilityPublic for the denial-of-service variant, private for the full escape exploit, which is held by the researcher.
Source of ExploitResearcher-published proof-of-concept and accompanying technical analysis released through public security disclosures.
Exploit ReliabilityHigh for the public denial-of-service proof-of-concept, which reliably crashes an unpatched host within seconds to minutes of being triggered.

Proof of Concept

The researcher's public proof-of-concept demonstrates the denial-of-service path only, since the full escape exploit has not been released. The researcher has also published accompanying technical analysis describing the vulnerability, exploitation approach, and proof-of-concept implementation.

The proof-of-concept requires root or kernel-module-loading privileges inside a guest VM, along with a host that has nested virtualization exposed and is running an unpatched kernel. Once loaded, the module manipulates a guest page-directory-entry mapping and drives a memslot deletion sequence designed to make KVM reuse a shadow page whose guest frame number matches, but whose internal "role" does not. This mismatch leads to a use-after-free that panics the host kernel, taking down every virtual machine running on that physical server.

The proof-of-concept ships with a dual-architecture code path, allowing the same trigger to run against either Intel VMX/EPT by default, or AMD SVM/NPT through an amd=1 module parameter. This lines up with the researcher's claim that it is the first guest-to-host KVM exploit confirmed to work on both platforms.

Reproducibility

The denial-of-service variant can be reproduced from the information the researcher has published. It requires a Linux guest VM with standard kernel module build tools, and a KVM/x86 host with nested virtualization enabled, running an unpatched kernel. At a high level, the steps involve building the proof-of-concept kernel module inside the guest, loading it with root privileges, and letting it trigger the memslot deletion sequence that causes the host's shadow MMU to reuse an incompatible shadow page structure, resulting in a host kernel panic.

The full guest-to-host code-execution exploit cannot currently be reproduced from public information. The researcher has stated it will not be released for the foreseeable future, given the severity of handing out a working root-level exploit against a widely deployed hypervisor.

Time-to-Exploit Analysis

The proof-of-concept was released alongside public disclosure on July 6, 2026, so there was effectively no delay between disclosure and PoC availability. No active exploitation has been observed in the wild as of this writing, so there is no measurable time-to-exploitation figure yet. The patch itself reached mainline on June 19, 2026 and stable kernel releases on July 4, 2026, roughly two weeks ahead of public disclosure, in line with standard coordinated disclosure practice.

Given that a reliable, public denial-of-service proof-of-concept already exists, unpatched hosts exposing nested virtualization to untrusted guests should be treated as facing immediate risk, within zero to two days of exposure, for the denial-of-service scenario. The full remote-code-execution path is not currently public, but the confirmed existence of a working exploit means a realistic window of short-to-medium term risk, roughly three days to four weeks, should be assumed for independent rediscovery or leakage.

Active Exploitation and Threat Landscape

No active exploitation of Januscape has been observed in the wild to date, and no threat actors, APT groups, or ransomware operators have been publicly linked to it. No campaign details, target sectors, or geographic patterns have been reported, since exploitation has not moved beyond the researcher's controlled proof-of-concept.

That said, this bug class has historically attracted sophisticated attackers. VM-escape vulnerabilities against hypervisors such as VMware ESXi have previously been exploited by ransomware groups and nation-state actors, specifically because of the scale of impact a single successful escape can achieve across a shared physical host. Organizations should not read the current absence of observed exploitation as a sign of low risk, particularly given how straightforward the public denial-of-service PoC is to run.

Vulnerability Timeline

EventDate
Vulnerable code introduced upstreamAugust 2010, commit 2032a93d66fa
Related earlier fix, CVE-2026-46113May 2026
Vendor notified / reported via Google kvmCTFN/A — kvmCTF is a private bug-bounty program and Google has not published the private report date.
CVE assignedJuly 4, 2026
Patch merged into mainlineJune 19, 2026, commit 81ccda30b4e8
Fixed stable kernels releasedJuly 4, 2026
Public disclosure and write-up publishedJuly 6, 2026
Proof-of-concept releasedJuly 6, 2026
Debian security advisory, DSA-6381-1July 5, 2026
Exploitation in the wildNot observed as of publication

Patch and Mitigation

A patch is available: commit 81ccda30b4e8, which addresses CVE-2026-53359 directly. Because this code path shares the same underlying validation gap as the earlier CVE-2026-46113 (fixed upstream in May 2026 via commit 0cb2af2ea66a), patch verification should confirm that both commits are present on a given host — not just 81ccda30b4e8 — since a host that is missing the earlier commit for some other reason (an old backport, a skipped update cycle, etc.) would still be exposed to the same class of bug. Most current systems will already have 0cb2af2ea66a from the May 2026 update cycle and do not need to re-apply it; the point is to verify its presence rather than assume it, not to newly deploy it. The commits themselves can be reviewed and pulled directly from kernel.org: commit 81ccda30b4e8 (CVE-2026-53359) and commit 0cb2af2ea66a (CVE-2026-46113). The original disclosure thread, including the researcher's technical rationale, is archived on the public security mailing list.

Fixed kernel versions are available in the 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211, and 5.10.260 stable lines and later. Distribution-specific status varies. Debian has shipped the fix via DSA-6381-1, but only for the current stable distribution (trixie, fixed in version 6.12.95-1); as of this writing that advisory does not cover Bookworm (oldstable) or Bullseye (oldoldstable), so administrators running those releases should not assume they are covered and should track the Debian security tracker for a follow-up advisory. SUSE and openSUSE had the fix in QA at the time of writing. Red Hat, AlmaLinux, Rocky Linux, and Oracle Linux track upstream RHEL errata. Proxmox VE has released fixed proxmox-kernel-6.8.12-33-pve and proxmox-kernel-7.0.14-4-pve packages, and CloudLinux is rolling out KernelCare live patches across its supported feeds. Because backport timing and version numbering vary by vendor, patch status should always be confirmed against the relevant distribution's advisory, rather than by comparing kernel version strings alone.

For environments that cannot patch and reboot immediately, the most effective interim mitigation is disabling nested virtualization on the host, using kvm_intel.nested=0 for Intel platforms or kvm_amd.nested=0 for AMD platforms. This removes the trigger path entirely for untrusted guests, since the vulnerable code is exercised when KVM falls back to shadow paging, which commonly occurs with nested virtualization and certain virtualization configurations. On distributions where the /dev/kvm device node is world-writable by default, such as RHEL and its derivatives from EL8 onward, permissions on that device should also be restricted, since the same bug can otherwise be triggered directly as a local privilege escalation. Untrusted or multi-tenant workloads should be avoided on unpatched hosts wherever possible until the fix is confirmed in place.

Detection efforts should focus on host kernel logs for panic traces referencing shadow MMU or page-table structures immediately preceding a crash, and on correlating unexplained host reboots with kernel module activity inside guest virtual machines, where guest-level visibility is available.

Indicators of Compromise

No structured indicator set has been published for this vulnerability, which is consistent with the absence of observed in-the-wild exploitation and the fact that the public proof-of-concept operates entirely within the kernel, with no network-facing signature. There are no associated IP addresses, domains, file hashes, or URLs to track at this time. The one behavioral artifact worth monitoring for is an unexpected kernel module load inside a guest virtual machine occurring shortly before a host kernel panic, which would be consistent with the published proof-of-concept's execution pattern. Organizations with guest introspection capabilities may also choose to hash-match the publicly available proof-of-concept module for detection or blocking purposes.

Post-Exploitation Details

Successful exploitation of the withheld full exploit variant results in privilege escalation, granting an attacker root-level code execution on the host from guest-level root access. On distributions where /dev/kvm is world-writable, the same underlying bug also functions as a standalone local privilege escalation, independent of any guest-to-host scenario. Lateral movement is an implicit consequence of host compromise, since an attacker who gains control of the host also gains the ability to access, disrupt, or take over every other guest virtual machine running on that physical server.

No persistence mechanisms have been documented, and no confirmed instances of data exfiltration, command-and-control communication, backdoor installation, or credential harvesting have been observed, since exploitation has not moved beyond the researcher's controlled proof-of-concept. Data exfiltration should nonetheless be considered a realistic possible outcome of full host compromise, given the access it would grant to memory belonging to co-located guest VMs.

MITRE ATT&CK Mapping

TacticTechniqueID
Initial AccessValid Accounts. A rented or compromised tenant VM with guest-level root satisfies the access requirement for exploitation.T1078
ExecutionExploitation for Privilege Escalation, via a crafted kernel module loaded inside the guest to trigger the use-after-free.T1068
Privilege EscalationEscape to HostT1611
Defense EvasionExploitation for Defense Evasion, using kernel-level memory corruption to bypass the guest and host isolation boundary.T1211
ImpactEndpoint Denial of Service. The publicly demonstrated outcome is a host kernel panic.T1499

Vulnerability Chaining Opportunities

Januscape can realistically be chained with other known vulnerabilities. Its companion bug, CVE-2026-46113, a related shadow-paging use-after-free already fixed upstream in May 2026, shares the same underlying validation gap in KVM's shadow page reuse logic, which is why patch verification should confirm both commits are present rather than assuming CVE-2026-53359's fix alone is sufficient. Separately, the same researcher's earlier disclosure, Dirty Frag, tracked as CVE-2026-43284 and CVE-2026-43500, is a page-cache write vulnerability chain capable of delivering deterministic root access on major Linux distributions. An attacker who lacks guest-level root to begin with could use Dirty Frag to obtain it, then pivot directly into Januscape to achieve a full guest-to-host escape. Organizations running mixed-architecture fleets should also be aware of ITScape, tracked as CVE-2026-46316, the same researcher's comparable guest-to-host escape affecting KVM on ARM64. It is unrelated in mechanism but relevant to overall patch posture.

Relevant misconfigurations that increase exposure include a world-writable /dev/kvm device node, nested virtualization left enabled for workloads that do not require it, and multi-tenant hosting environments that rely solely on the KVM boundary without additional sandboxing layers.

A representative attack chain would begin with an attacker renting a low-privilege cloud instance, using Dirty Frag to escalate to root within that guest, loading a Januscape-derived kernel module to trigger the shadow MMU role and frame-number mismatch, and using the resulting host kernel use-after-free to either panic the host, or, with the unreleased exploit variant, execute code as root on the host, resulting in full compromise of the host and every co-located tenant virtual machine.

Detection and Monitoring

Effective detection for this vulnerability class depends on correlating host-level and guest-level telemetry. Security teams should monitor host kernel logs and dmesg output for panic traces referencing shadow MMU or page-table structures, and correlate any unexplained host reboots across a hypervisor fleet with kernel module load activity inside co-located guest VMs, where guest introspection or agent-based monitoring is available. Guest-level auditd logging of insmod and modprobe events, particularly involving unsigned or unexpected modules, provides an early warning signal. At the host level, kernel lockdown mode and Secure Boot with module signature enforcement can meaningfully reduce the ability of a compromised guest to load arbitrary code, and should be considered defense-in-depth measures alongside patching.

The following examples illustrate how the behavioral indicators above can be translated into concrete detection logic:

Sample auditd rule (guest-side, flags kernel module loads for review):

-w /sbin/insmod -p x -k kvm_module_load
-w /sbin/modprobe -p x -k kvm_module_load
-a always,exit -F arch=b64 -S init_module,finit_module -k kvm_module_load

Sample SIEM correlation query (pseudocode, for a Splunk-style query language, joining a host kernel panic event against a guest module-load event within a preceding five-minute window):

index=host_kernel_logs "Kernel panic" (mmu OR "shadow page" OR "page-table")
| join type=left host [ search index=guest_audit_logs key=kvm_module_load earliest=-5m ]
| where isnotnull(guest_module_load_event)
| table _time, host, guest_vm_id, module_name, panic_signature

Sample EDR/YARA-style rule (for guest introspection tooling capable of hash-matching loaded kernel modules against the public PoC):

rule Januscape_PoC_Module {
  meta:
    description = "Flags kernel modules matching the public Januscape (CVE-2026-53359) PoC"
    reference = "Public researcher proof-of-concept"
  strings:
    $s1 = "amd=1" ascii
    $s2 = "memslot" ascii
  condition:
    uint32(0) == 0x464c457f and all of them
}

These examples are illustrative starting points rather than validated, production-ready rules; teams should adapt field names, index names, and match strings to their own logging schema and confirm the YARA strings against the actual PoC binary before deployment, since hash- and string-based signatures can be trivially altered by an attacker who modifies the public source.

Risk Assessment

FactorAssessment
ImpactCritical for multi-tenant environments, where successful exploitation breaks the fundamental isolation boundary between guest and host and enables full host takeover and cross-tenant compromise. Moderate to high for single-tenant or trusted-guest environments, where the primary concern is the denial-of-service path.
LikelihoodMedium to high for hosts that expose nested virtualization to untrusted guests, since the required trigger conditions, guest root and an unpatched kernel, are common in public cloud and hosting environments. Low for hosts that do not enable nested virtualization for guest workloads.
Exploit Maturity InfluenceElevated by the availability of a reliable, public denial-of-service proof-of-concept, and by the confirmed existence of a working full-escape exploit that has not yet been released.
Overall Risk LevelHigh. Any x86 KVM host that is multi-tenant, cloud-facing, or exposes nested virtualization should be treated as a priority patch target, independent of the pending official CVSS score.

Remediation Recommendations

Immediate actions should include building a complete inventory of x86 KVM hosts across bare-metal, cloud, and virtualization platforms such as Proxmox, OpenStack, and oVirt, and identifying which of them expose nested virtualization to guest workloads. Commit 81ccda30b4e8, which fixes CVE-2026-53359, should be applied as the primary action, and the presence of the earlier commit 0cb2af2ea66a, which fixed CVE-2026-46113 in May 2026, should be independently verified rather than assumed to already be there — most systems will already have it, so this is a check, not a re-deployment. Both should be confirmed by commit presence rather than kernel version number alone. Where patching and rebooting cannot happen immediately, nested virtualization should be disabled as a stop-gap, and permissions on /dev/kvm should be tightened on any distribution where it defaults to world-writable. The public proof-of-concept should never be run against production infrastructure, since it is designed to crash the host kernel.

Long-term fixes should include building a patch-verification process that checks for specific commit and CVE presence, rather than relying on kernel version strings, given how easily a coupled fix like this one can be missed. Organizations running untrusted multi-tenant workloads should also evaluate additional sandboxing layers, such as gVisor or Kata Containers, or hardware-assisted confidential computing, to reduce reliance on the KVM boundary as the sole isolation mechanism. Adopting no-reboot live-patching solutions can also reduce the operational cost of responding to future kernel vulnerabilities of this kind on the same emergency timeline.

Security best practices going forward should include disabling nested virtualization by default and enabling it only for specific, trusted workloads that genuinely require it, maintaining an expedited patch cadence for hypervisor-layer kernel vulnerabilities given the scale of impact a single flaw can have across a shared host, and continuing to monitor upstream KVM shadow MMU vulnerabilities closely. This is the second use-after-free identified in the same code path within roughly two months, which suggests the area warrants sustained scrutiny.

Instantly Fix Risks with Saner Patch Management

Saner Patch Management is a continuous, automated, and integrated patch management solution that helps organizations rapidly remediate vulnerabilities actively exploited in the wild. It supports Windows, Linux, macOS, and more than 550 third-party applications, enabling timely deployment of security updates across enterprise environments.

The platform also provides safe patch testing environments, automated deployment workflows, compliance reporting, and patch rollback capabilities to minimize operational risk while ensuring critical vulnerabilities are addressed without delay.

Experience the fastest and most accurate patching software here.

Featured Posts

Open Operation CameraSwarm: Inside the Toolkit Behind 14,530 Compromised Dahua Cameras
Operation CameraSwarm: Inside the Toolkit Behind 14,530 Compromised Dahua Cameras

CVE Research

Operation CameraSwarm: Inside the Toolkit Behind 14,530 Compromised Dahua Cameras

A single operator compromised 14,530+ Dahua cameras across Ukraine and Russia in 35 days, chaining credential brute-force, a CVE-2021-33044/33045 authentication bypass, and P2P relay abuse to plant a persistent backdoor and harvest transferable admin access.

Aug 21, 2026

Open Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF
Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF

CVE Research

Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF

CVE-2026-19478 is a critical code injection vulnerability in GitLab CE/EE that allows an unauthenticated attacker to modify or delete public projects and user data by abusing a GraphQL directive. A second high-severity issue, CVE-2026-19650, involves cross-site request forgery in the GraphQL multiplex query handler. This article examines how the critical vulnerability works, the availability of a public proof-of-concept, the potential impact on self-managed instances, the affected versions, and the security updates released to remediate both issues.

Aug 19, 2026

Open No Password Needed: macOS Screen Sharing Flaw (CVE-2026-65400) Used to Deploy Monero Miners
No Password Needed: macOS Screen Sharing Flaw (CVE-2026-65400) Used to Deploy Monero Miners

CVE Research

No Password Needed: macOS Screen Sharing Flaw (CVE-2026-65400) Used to Deploy Monero Miners

Aug 19, 2026

Open Evooo1Bot: Mirai-Based Linux Botnet Turns Edge Devices Into SOCKS5 Proxies
Evooo1Bot: Mirai-Based Linux Botnet Turns Edge Devices Into SOCKS5 Proxies

CVE Research

Evooo1Bot: Mirai-Based Linux Botnet Turns Edge Devices Into SOCKS5 Proxies

Aug 19, 2026