Linux KernelOperating system · Linux

CVE-2026-53360

HIGH · 8.8 CVSS v3.1 Published 2026-07-04
Fix available
A fix is available. Upgrade to 6.12.93 / 6.18.35 or later.
See remediation →
90/100
Remediation priority · Urgent
Zero-click 7 weeks old

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Require in-GHCB scratch area if GHCB v2+ is in use As per the GHCB spec, when using GHCB v2+ require the software scratch area to reside in the GHCB's shared buffer. Note, things like Page State Change (PSC) requests _rely_ on this behavior, as the guest can't provide a length when making the request, i.e. the size of the guest payload is bounded by the size of the shared buffer. Failure to force usage of the GHCB, and a slew of other flaws, lets a malicious SNP guest corrupt host kernel heap memory, and leak host heap layout information. setup_vmgexit_scratch() allocates a buffer via kvzalloc(exit_info_2), where exit_info_2 is guest-controlled. With exit_info_2=24, this yields a 24-byte allocation in kmalloc-cg-32 (32-byte slab objects). The buffer holds an 8-byte psc_hdr followed by 8-byte psc_entry structs, so only entries[0] and entries[1] are in-bounds. snp_begin_psc() validates end_entry against VMGEXIT_PSC_MAX_COUNT (253) but NOT against the actual buffer size: idx_end = hdr->end_entry; if (idx_end >= VMGEXIT_PSC_MAX_COUNT) { // checks 253, not buffer snp_complete_psc(svm, ...); return 1; } for (idx = idx_start; idx <= idx_end; idx++) { entry_start = entries[idx]; // OOB when idx >= 2 The guest sets end_entry=10+, causing the host to iterate entries[2+] which are OOB into adjacent slab objects. For each OOB entry: - The host reads 8 bytes (OOB READ / info leak oracle) - If the data passes PSC validation, __snp_complete_one_psc() writes cur_page = 1 or 512 into the entry (OOB WRITE, sev.c:3806) - If validation fails, the error response reveals whether adjacent memory is zero vs non-zero (information disclosure to guest) The guest controls allocation size (exit_info_2), entry range (cur_entry/end_entry), and can fire unlimited VMGEXITs to repeatedly hit different slab positions. By exploiting the variety of bugs, a malicious SEV-SNP guest can: - OOB read adjacent kmalloc-cg-32 objects (heap layout disclosure) - OOB write cur_page bits into adjacent objects (heap corruption) - Trigger use-after-free conditions across VMGEXITs E.g. with KASAN enabled, a single insmod of the PoC guest module produces 73 KASAN reports: BUG: KASAN: slab-out-of-bounds in snp_begin_psc+0x126/0x890 Read of size 8 at addr ffff888219ffb5e0 by task qemu-system-x86/2199 BUG: KASAN: slab-out-of-bounds in snp_begin_psc+0x468/0x890 Write of size 8 at addr ffff888351566648 by task qemu-system-x86/2199 The buggy address belongs to the object at ffff888XXXXXXXXX which belongs to the cache kmalloc-cg-32 of size 32 The buggy address is located N bytes to the right of allocated 32-byte region [ffff888XXXXXXXXX, ffff888XXXXXXXXX) Breakdown: 62 slab-out-of-bounds (reads + writes past allocation) 7 slab-use-after-free 4 use-after-free All credit to Stan for the wonderful description and reproducer! [sean: write changelog]

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

KVM SEV vulnerability where a malicious SEV-SNP guest can trigger heap corruption and information disclosure. The bug occurs because setup_vmgexit_scratch() allocates a buffer sized by guest-controlled exit_info_2, but snp_begin_psc() only validates end_entry against VMGEXIT_PSC_MAX_COUNT (253) instead of the actual buffer size. Guest sets end_entry >= 2 to cause OOB reads/writes into adjacent kmalloc-cg-32 slab objects.

MitigationApply kernel patch to enforce GHCB scratch area usage per spec and add proper bounds validation against actual buffer size before iterating PSC entries.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.

NVD · CPE data
Linux KernelOperating system
Affected:>= 6.10, < 6.12.93>= 6.13, < 6.18.35>= 6.19, < 7.0.12= 7.1

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Check kernel version for SEV-SNP support
    Run 'uname -r' and compare against kernel versions that include SEV-SNP and the vulnerability fix; check /proc/version for full version string
    Affected if Running an affected kernel version (prior to patch) with SEV-SNP enabled
  2. Verify KVM kernel module is loaded
    Run 'lsmod | grep kvm' or check /sys/module/kvm/parameters to confirm KVM modules are active
    Affected if KVM module is loaded and SEV/SEV-SNP functionality is in use
  3. Confirm SEV-SNP is enabled in kernel boot parameters
    Check /proc/cmdline or 'cat /sys/kernel/mm/sev_guest/active' or inspect boot config for 'sev-snp' or 'kvm_amd.sev=1' parameters
    Affected if SEV or SEV-SNP is enabled via kernel boot parameters (sev= or sev-snp=)
  4. Verify GHCB version in use
    Inspect guest configuration files or libvirt XML definitions for 'sev' or 'sev-snp' guest attributes; check if 'ghcb_version' or similar v2+ indicators are present
    Affected if Guests are configured with SEV-SNP using GHCB v2 or higher (the vulnerability applies specifically to GHCB v2+)
  5. Check for presence of vulnerable snp_begin_psc function
    Inspect /sys/kernel/debug/kvm/ or examine kernel symbols via 'cat /proc/kallsyms | grep snp_begin_psc' to confirm the vulnerable code path exists
    Affected if The vulnerable functions (setup_vmgexit_scratch, snp_begin_psc) are present without the bounds-checking fix

You are affected if running a vulnerable kernel version with SEV-SNP enabled and guests utilizing GHCB v2+ are in operation.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Upgrade available Upgrade to 6.12.93 / 6.18.35 / 7.0.12 or later
Fixed in 6.12.936.18.357.0.12
Interim mitigation

Apply kernel patch to enforce GHCB scratch area usage per spec and add proper bounds validation against actual buffer size before iterating PSC entries.

Recommended fix High confidence

Linux kernel version containing the commit that enforces GHCB scratch area validation for GHCB v2+ (check git.kernel.org for the specific merged commit)

  1. Identify the currently running Linux kernel version using `uname -r`
  2. Check if the kernel includes KVM SEV (AMD SEV) support - the vulnerability only affects SEV and SEV-SNP configurations
  3. Update to a kernel version that includes the fix for this vulnerability. The fix is titled 'KVM: SEV: Require in-GHCB scratch area if GHCB v2+ is in use'
  4. After kernel update, reboot the host system to load the patched kernel
  5. Verify the fix is applied by checking the kernel version and reviewing the specific commit in the kernel source if needed
Caveat Kernel update may require system reboot; ensure guest VMs are properly shut down before rebooting. Minor regression risk exists if workloads depend on specific SEV behavior, but the security fix is essential.

Generated from the published advisory — verify against the referenced sources before acting.

Fix this in Linux Kernel Scoped from the published advisory
  • Consultation8.0 h
  • Implementation24.0 h
  • Testing16.0 h
  • Review / QA8.0 h
56.0 hours of engineering $9,760
Get the upgrade done

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $15,616.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-53360 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-53360 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data