CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-53359

CVE-2026-53359: Use-After-Free in Linux Kernel KVM Shadow MMU (Januscape)

Amit Schendel
Amit Schendel
Senior Security Researcher

Jul 8, 2026·5 min read·13 visits

Executive Summary (TL;DR)

A 16-year-old logic flaw in KVM's Shadow MMU allows a virtual machine guest administrator to bypass hypervisor isolation, causing a guest-to-host escape, local privilege escalation, or host denial of service.

Januscape (CVE-2026-53359) is a critical Use-After-Free vulnerability in the x86 Shadow MMU component of the Linux Kernel's KVM subsystem. A logic error in shadow page tracking permits unauthorized page reuse without validating architectural execution roles, leading to dangling pointers in reverse mapping (rmap) tracking entries during guest memory teardown.

Vulnerability Overview

The Januscape vulnerability, tracked as CVE-2026-53359, is a security-critical Use-After-Free (UAF) flaw located in the x86 Shadow Memory Management Unit (MMU) emulation of the Linux Kernel's KVM (Kernel-based Virtual Machine) subsystem.

KVM uses the Shadow MMU to translate guest physical addresses to host physical addresses when hardware-assisted paging is unavailable or when nested virtualization is active on the host processor.

This vulnerability allows an attacker with root administrative privileges on a guest virtual machine to bypass hypervisor isolation boundaries and escape to the host.

This security flaw remained undetected in the Linux kernel codebase for approximately sixteen years, impacting a broad range of legacy and modern kernel deployments.

Root Cause Analysis

The root cause of CVE-2026-53359 resides in a logic error within KVM's shadow page tracking and reuse routine.

Every shadow page table is tracked via a struct kvm_mmu_page structure, which has an associated architectural execution role defined by union kvm_mmu_page_role.

During translation mapping updates, the helper function kvm_mmu_get_child_sp retrieves a cached shadow page from the hash table but fails to validate whether the page execution role matches the newly requested role.

When a guest page table transitions from mapping a 2MB huge page (direct mapping) to a standard 4KB page directory, the kernel reuses the existing shadow page structure despite the mismatch in the direct translation properties.

This mismatch causes the helper function kvm_mmu_page_get_gfn to calculate incorrect Guest Frame Numbers (GFNs) during page zapping operations.

Because of the incorrect GFN values, KVM fails to find and remove the corresponding reverse mapping (rmap) entries during teardown.

When the associated guest memory slot (memslot) is subsequently deleted, the shadow page is deallocated, but the un-cleared rmap entry persists as a dangling pointer pointing to the freed memory area.

Code Analysis

An analysis of the vulnerable codebase shows that the flaw lies in the lookup loop of the kvm_mmu_get_child_sp function.

In vulnerable kernel versions, the lookup is restricted solely to verifying the GFN matching and the validity status of the page:

/* Vulnerable lookup routine in arch/x86/kvm/mmu/mmu.c */
hlist_for_each_entry(sp, &vcpu->kvm->arch.mmu_page_hash[kvm_page_table_hashfn(gfn)], hash_link) {
    if (sp->gfn == gfn && !sp->role.invalid) {
        return sp;
    }
}

The official upstream fix modifies this block to enforce strict equivalence of the architectural execution roles before a shadow page can be safely reused:

/* Patched lookup routine in arch/x86/kvm/mmu/mmu.c */
hlist_for_each_entry(sp, &vcpu->kvm->arch.mmu_page_hash[kvm_page_table_hashfn(gfn)], hash_link) {
    /* Verify the whole role word structure matches the target configuration */
    if (sp->gfn == gfn && sp->role.word == role.word && !sp->role.invalid) {
        return sp;
    }
}

Enforcing the sp->role.word == role.word comparison guarantees that a page initialized for a direct translation layout is never reused for indirect multi-level page tables, eliminating the rmap reference tracking corruption.

Exploitation Methodology

The exploitation path requires the attacker to execute code as an administrator inside the guest virtual machine and establish a nested page table environment.

The attacker creates a concurrent execution layout where a dedicated thread rapidly modifies page directory entries between huge pages and standard page directories, while parallel threads invoke continuous guest page faults on the target memory area.

This parallel execution induces a race condition, forcing the hypervisor to execute the vulnerable kvm_mmu_get_child_sp lookup and retrieve a mismatched shadow page structure.

Following the memslot deletion, the hypervisor frees the target physical page, but the corresponding rmap tracking pointer remains in memory.

By executing a routine that walks the rmap chain, such as memory dirty logging or page validation, the kernel dereferences the stale pointer, allowing the attacker to hijack host execution flow.

Impact Assessment

The primary impact of CVE-2026-53359 is a virtual machine escape, resulting in a complete compromise of the virtualization host's security perimeter.

In public cloud and multi-tenant virtualization systems, this escape allows a malicious tenant to compromise neighboring guest environments, access confidential data, and bypass hardware-enforced isolation.

On systems configured with world-writable access to the /dev/kvm interface, the flaw can be leveraged by a local, unprivileged user to escalate privileges directly to root on the physical host.

If host-level exploit mitigation techniques restrict control flow redirection, triggering the Use-After-Free condition results in a host kernel panic and immediate Denial of Service (DoS).

Remediation & Mitigations

Remediation of CVE-2026-53359 requires updating host operating systems to patched stable versions of the Linux Kernel.

Administrators should deploy kernel updates that include commit 81ccda30b4e8, which is backported to supported long-term stable branches.

For systems where kernel updates cannot be immediately applied, nested virtualization should be disabled by configuring KVM module options to prevent the exploitation path.

Additionally, restricting file permissions on the /dev/kvm device node to trusted system administrative groups prevents local unprivileged users from initiating KVM instances and attempting privilege escalation.

Official Patches

Linux Kernel MainlineMainline core fix for KVM Shadow MMU lookup reuse role validation.

Fix Analysis (3)

Technical Appendix

CVSS Score
8.8/ 10
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
EPSS Probability
0.18%
Top 93% most exploited

Affected Systems

Linux Kernel (KVM Subsystem)

Affected Versions Detail

Product
Affected Versions
Fixed Version
Linux Kernel
Linux
>= 2.6.36, < 6.1.1776.1.177
Linux Kernel
Linux
>= 6.2, < 6.6.1446.6.144
Linux Kernel
Linux
>= 6.7, < 6.12.956.12.95
Linux Kernel
Linux
>= 6.13, < 6.18.386.18.38
Linux Kernel
Linux
>= 6.19, < 7.1.37.1.3
AttributeDetail
CWE IDCWE-416 (Use-After-Free)
Attack VectorLocal / Guest VM Control
CVSS v3.1 Score8.8
EPSS Score0.00176
ImpactGuest-to-Host Escape / Local Privilege Escalation
Exploit StatusProof-of-Concept / Weaponized (kvmCTF)
CISA KEV StatusNot Listed

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1611Escape to Host
Privilege Escalation
T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-416
Use After Free

The product references memory after it has been freed, which can lead to a crash, unexpected behavior, or execution of arbitrary code.

Known Exploits & Detection

OSS-Security Mailing ListProof of Concept for kernel Denial of Service triggering the UAF in pte_list_remove.
GitHubCommunity-hosted repository replicating the Januscape PoC exploit structure.

Vulnerability Timeline

Vulnerability is introduced into the Linux kernel shadow MMU logic
2010-10-01
Hyunwoo Kim discovers the vulnerability and demonstrates guest-to-host escape in kvmCTF
2026-03-15
Confidential vulnerability report submitted to security@kernel.org
2026-06-20
Patch commit 81ccda30b4e8 published in the mainline kernel tree
2026-07-04
Full technical disclosure and PoC posted on the OSS-Security mailing list
2026-07-06
CVE-2026-53359 is formally assigned and indexed in the NVD
2026-07-08

References & Sources

  • [1]NVD CVE-2026-53359 Detail
  • [2]CVE.org CVE-2026-53359 Record
  • [3]Mainline Security Patch Commit
  • [4]OSS-Security Mailing List Advisory
  • [5]Januscape Official Website
  • [6]Community Exploit Repository
  • [7]Hotfix Repository
  • [8]Kernel Fix Repository

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 2 hours ago•CVE-2026-48282
10.0

CVE-2026-48282: Unauthenticated Path Traversal and Arbitrary File Write in Adobe ColdFusion Remote Development Services

CVE-2026-48282 is a critical unauthenticated path traversal and arbitrary file write vulnerability in the Remote Development Services (RDS) component of Adobe ColdFusion. The vulnerability allows a remote, unauthenticated attacker to bypass directory boundaries and write arbitrary files, including CFML-based web shells, onto the host server. This flaw is actively exploited in the wild and enables full unauthenticated remote code execution under the privileges of the ColdFusion service account.

Alon Barad
Alon Barad
7 views•6 min read
•about 7 hours ago•GHSA-GQ4G-FPC9-VJFQ
2.3

GHSA-gq4g-fpc9-vjfq: Username Enumeration via Predictable Decoy Credentials in web-auth/webauthn-lib

An information disclosure vulnerability exists in the web-auth/webauthn-lib PHP library when using the default SimpleFakeCredentialGenerator without a configured secret. This allows unauthenticated remote attackers to determine if a username exists on the target application.

Alon Barad
Alon Barad
7 views•5 min read
•about 8 hours ago•GHSA-CWV4-H3J5-W3CF
3.7

GHSA-CWV4-H3J5-W3CF: Stored and Reflected Cross-Site Scripting in rama's Directory Listing Component

A Stored and Reflected Cross-Site Scripting (XSS) vulnerability was identified in the Rust web service library 'rama' prior to version 0.3.0-rc.1. When serving directories using DirectoryServeMode::HtmlFileList, the library improperly escapes directory names, filenames, and request path components before injecting them into dynamically generated HTML files. This allows attackers to execute malicious scripts inside user browser sessions.

Alon Barad
Alon Barad
6 views•7 min read
•about 9 hours ago•GHSA-Q855-8RH5-JFGQ
6.5

GHSA-Q855-8RH5-JFGQ: Missing Authentication and CSRF in ha-mcp bare root settings and policy routes

The ha-mcp add-on for Home Assistant exposes its settings and security policy routes without authentication at the bare root path of TCP port 9583. This exposure allows unauthorized adjacent network clients to reconfigure tools, alter policies, and bypass human-in-the-loop approval gates. The vulnerability has been addressed in development build 7.6.0.dev393 and subsequent releases by restricting access to root-mounted routes exclusively to the Supervisor Ingress IP.

Amit Schendel
Amit Schendel
6 views•8 min read
•about 9 hours ago•GHSA-F66Q-9RF6-8795
5.3

GHSA-f66q-9rf6-8795: WebAuthn Re-authentication Freshness Bypass in Flask-Security-Too

An authentication freshness bypass vulnerability exists in the WebAuthn re-authentication path of Flask-Security-Too versions 5.8.0 and 5.8.1. The flaw allows an authenticated attacker to elevate the freshness status of a victim session using their own WebAuthn credential, bypassing re-authentication constraints.

Amit Schendel
Amit Schendel
7 views•5 min read
•about 10 hours ago•CVE-2026-50127
5.9

CVE-2026-50127: Server-Side Request Forgery Bypass via IPv6 Transition Prefixes in Weblate

A Server-Side Request Forgery (SSRF) vulnerability exists in Weblate's private address validator when the VCS_RESTRICT_PRIVATE setting is enabled. By exploiting IPv6 transition mechanisms, such as NAT64, 6to4, or IPv4-compatible configurations, an attacker can bypass private network boundaries and access internal services.

Alon Barad
Alon Barad
8 views•6 min read