Skip to main content

Linux Kernel CVE-2026-53359

| EUVDEUVD-2026-41666 HIGH
Use After Free (CWE-416)
2026-07-04 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-wpw8-53h7-xqcq
8.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local (AV:L) attacker with VM/KVM privileges (PR:L) crossing the guest-to-host boundary (S:C) for full host impact; AC:H because exploitation depends on winning a memslot/PDE timing race.

3.1 AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
SUSE
HIGH
qualitative
Red Hat
7.8 HIGH
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 18, 2026 - 08:26 vuln.today
CVSS changed
Jul 18, 2026 - 08:22 NVD
8.8 (HIGH)
Patch available
Jul 04, 2026 - 13:01 EUVD
CVE Published
Jul 04, 2026 - 12:17 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 04, 2026 - 12:17 cve.org
HIGH 8.8

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

KVM: x86: Fix shadow paging use-after-free due to unexpected role

Commit 0cb2af2ea66ad ("KVM: x86: Fix shadow paging use-after-free due to unexpected GFN") fixed a shadow paging mismatch between stored and computed GFNs; the bug could be triggered by changing a PDE mapping from outside the guest, and then deleting a memslot. The rmap_remove() call would miss entries created after the PDE change because the GFN of the leaf SPTE does not match the GFN of the struct kvm_mmu_page.

A similar hole however remains if the modified PDE points to a non-leaf page. In this case the gfn can be made to match, but the role does not match: the original large 2MB page creates a kvm_mmu_page with direct=1, while the new 4KB needs a kvm_mmu_page with direct=0. However, kvm_mmu_get_child_sp() does not compare the role, and therefore reuses the page.

The next step is installing a leaf (4KB) SPTE on the new path which records an rmap entry under the gfn resolved by the walk. But when that child is zapped its parent kvm_mmu_page has direct=1 and kvm_mmu_page_get_gfn() computes the gfn for the 4KB page as sp->gfn + index instead of using sp->shadowed_translation[] (or sp->gfns[] in older kernels). It therefore fails to remove the recorded entry.

When the memslot is dropped the shadow page is freed but the rmap entry survives, as in the scenario that was already fixed. Code that later walks that gfn (dirty logging, MMU notifier invalidation, and so on) dereferences an sptep that lies in the freed page, causing the use-after-free.

AnalysisAI

Local privilege escalation and host memory corruption in the Linux kernel's KVM x86 shadow paging (MMU) subsystem allows a low-privileged actor with control over a guest/VMM to trigger a use-after-free in the host kernel. The flaw is an incomplete fix for commit 0cb2af2ea66ad: kvm_mmu_get_child_sp() reuses a shadow page without comparing its role, so a stale rmap entry survives after a memslot is dropped and the shadow page is freed, and later gfn walks dereference a pointer into freed memory. A public proof-of-concept exists (flagged by Italy's ACN/CSIRT) and SSVC rates technical impact as total, but it is not on CISA KEV and EPSS is low (0.18%), indicating no confirmed widespread active exploitation.

Technical ContextAI

The vulnerability lives in KVM's x86 shadow paging MMU, used when hardware nested paging (EPT/NPT) is unavailable or disabled and the hypervisor maintains software shadow page tables mirroring guest translations. Each shadow page-table page is tracked by a struct kvm_mmu_page whose 'role' encodes attributes such as direct (1 for large direct 2MB mappings, 0 for indirect 4KB mappings) and whose gfn/shadowed_translation[] (or sp->gfns[] in older kernels) records the guest frame it shadows. When a PDE is changed from outside the guest so a former 2MB direct page now points to a non-leaf page needing direct=0, kvm_mmu_get_child_sp() matches on gfn but not on role and wrongly reuses the existing direct=1 page. A subsequent leaf 4KB SPTE records an rmap entry, but on zap the parent's direct=1 role makes kvm_mmu_page_get_gfn() compute the gfn as sp->gfn + index rather than from the shadowed translation, so rmap_remove() misses the entry. This is a classic CWE-416 use-after-free (the input lists CWE as N/A); the root cause is a role-comparison omission that leaves dangling rmap references to freed shadow-page memory, later dereferenced by dirty logging and MMU-notifier invalidation paths.

RemediationAI

Vendor-released patch: upgrade to a fixed stable kernel - 6.1.177, 6.6.144, 6.12.95, or 6.18.38 on their respective longterm branches, or 7.1.3 / 7.2-rc1 on newer trees - pulling the fix that adds a role comparison in kvm_mmu_get_child_sp() (commits 1ae7d5a6db6c, 2ad3afa40ac6, 5e470998a23e, 81ccda30b4e8, 9291654d69e0, b1337aae5e19 at git.kernel.org/stable/c/<hash>). Distribution users should apply the corresponding backported package update from their vendor. Until patched, the most effective compensating control is to ensure hardware-assisted nested paging is enabled (Intel EPT / AMD NPT) so the vulnerable shadow-paging path is not exercised - verify kvm_intel ept=1 / kvm_amd npt=1 (the default on modern hardware); the trade-off is that hosts on older CPUs or with nested paging deliberately disabled remain exposed. Additionally restrict who can launch or control VMs and access /dev/kvm to trusted operators only, since exploitation requires an attacker-controlled guest/VMM context; the side effect is tighter operational access for legitimate virtualization users. Consult the oss-security advisory (https://seclists.org/oss-sec/2026/q3/64) for disclosure details.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.177 Container suse/sl-micro/6.1/base-os-container:2.2.1-5.155 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.206 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.152 Affected
Container suse/sle-micro-rancher/5.3:latest Container suse/sle-micro-rancher/5.4:5.4.4.5.149 Affected
Container suse/sle-micro/base-5.5:2.0.4-5.8.296 Affected
Container suse/sle-micro/kvm-5.5:2.0.4-3.5.570 Affected

Share

CVE-2026-53359 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy