Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-64308

CVE-2026-64308: Linux Kernel Privilege Escalation Flaw

CVE-2026-64308 is a privilege escalation vulnerability in the Linux kernel's crypto subsystem that could allow unauthorized access. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-64308 Overview

CVE-2026-64308 is a Linux kernel vulnerability in the Cryptographic Coprocessor (CCP) driver. The flaw affects the AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) code path handling the ioctl(SNP_VLEK_LOAD) command. The driver wrapped this ioctl in an initialization/shutdown sequence that could interfere with active KVM guests. A userspace process with access to /dev/sev could trigger SEV initialization side effects, potentially zeroing MSR_VM_HSAVE_PA globally. This condition could cause the next VMRUN on an active guest to raise a general protection fault and crash the host.

Critical Impact

A local userspace process with /dev/sev access could induce a host crash while KVM virtual machines are running, resulting in denial of service across all guests on the affected hypervisor.

Affected Products

  • Linux kernel versions containing the CCP driver with SEV-SNP support
  • Systems running AMD EPYC processors with SEV-SNP enabled
  • KVM hosts exposing /dev/sev to privileged userspace

Discovery Timeline

  • 2026-07-25 - CVE-2026-64308 published to NVD
  • 2026-07-25 - Last updated in NVD database

Technical Details for CVE-2026-64308

Vulnerability Analysis

The vulnerability resides in the AMD CCP driver's handling of the SNP_VLEK_LOAD ioctl. The Versioned Loaded Endorsement Key (VLEK) load operation was wrapped in an SNP initialization and shutdown sequence. That wrapper altered global processor state used by KVM. When SEV initialization failed while KVM was actively running non-SNP guests, the code path could zero out MSR_VM_HSAVE_PA on host CPUs. The MSR_VM_HSAVE_PA register holds the physical address of the host save area required by VMRUN. Once cleared, the next VMRUN instruction on an active virtual machine raises a general protection fault. The result is a host kernel crash and denial of service for all guests. This falls under the kernel vulnerability class [Improper Initialization] with denial-of-service impact.

Root Cause

The root cause is unnecessary initialization/shutdown wrapping around SNP_VLEK_LOAD. According to the SEV firmware documentation, SNP_SHUTDOWN deletes the VLEK immediately after load, making the wrapper both pointless and dangerous. The wrapper interacts with global SEV state that KVM relies on for guest execution.

Attack Vector

A userspace process with permission to open /dev/sev issues the SNP_VLEK_LOAD ioctl on a host where SNP was not previously initialized. The driver attempts SEV initialization, which can fail while normal KVM VMs are running. The failure path corrupts MSR_VM_HSAVE_PA, causing subsequent VMRUN calls to fault. The fix refuses the ioctl with -ENODEV when SNP has not been initialized, breaking prior ABI where the call was a silent no-op. See the patch commits referenced below for the exact code changes.

// No verified exploitation code available. Refer to upstream patches:
// [Kernel Git Commit 61cf5ee](https://git.kernel.org/stable/c/61cf5eef20657bff9ca235fe938a99ce5ff65c06)
// [Kernel Git Commit 8836801](https://git.kernel.org/stable/c/8836801847b9479ac046cb18a24981e1b0b05e9d)
// [Kernel Git Commit 92567ed](https://git.kernel.org/stable/c/92567ed9306d5a3d1b007eb4faeff30cc3ffc3e4)
// [Kernel Git Commit f91e9db](https://git.kernel.org/stable/c/f91e9dbb5845d1e5abf1028e6df57dcf61583e1b)

Detection Methods for CVE-2026-64308

Indicators of Compromise

  • Unexpected host kernel panics referencing general protection faults during VMRUN on AMD SEV-capable hardware.
  • Kernel log entries showing SEV initialization failures immediately preceding host instability.
  • Userspace processes opening /dev/sev and issuing SNP_VLEK_LOAD on hosts where SNP was not previously initialized.

Detection Strategies

  • Audit which processes hold file descriptors on /dev/sev and correlate against expected administrative tooling.
  • Monitor dmesg and journal output for ccp driver messages related to SEV/SNP initialization failure.
  • Track ioctl syscalls targeting SEV command codes on hosts running KVM workloads.

Monitoring Recommendations

  • Enable kernel audit rules for openat calls against /dev/sev and forward events to a centralized log store.
  • Alert on host kernel crashes coinciding with KVM guest disruption across a virtualization fleet.
  • Baseline legitimate management activity on /dev/sev and flag deviations for investigation.

How to Mitigate CVE-2026-64308

Immediate Actions Required

  • Apply the upstream Linux kernel patches referenced by commits 61cf5ee, 8836801, 92567ed, and f91e9db.
  • Restrict access to /dev/sev to trusted administrators and virtualization management daemons only.
  • Reboot into the patched kernel on all AMD SEV-capable KVM hypervisors after distribution updates land.

Patch Information

The fix removes the initialization/shutdown wrapper around SNP_VLEK_LOAD and returns -ENODEV when SNP has not been initialized. This is an ABI break because the ioctl previously behaved as a silent no-op. Distributors preserving compatibility may choose to return 0 instead. Refer to Kernel Git Commit 61cf5ee, Kernel Git Commit 8836801, Kernel Git Commit 92567ed, and Kernel Git Commit f91e9db.

Workarounds

  • Tighten Discretionary Access Control (DAC) permissions on /dev/sev so only the virtualization service account can open it.
  • Use Linux Security Modules (SELinux or AppArmor) to confine which binaries may issue SEV ioctls.
  • Disable SEV-SNP functionality in BIOS or kernel command line where the feature is unused, reducing attack surface.
bash
# Restrict /dev/sev access to the kvm group and root
chown root:kvm /dev/sev
chmod 0660 /dev/sev

# Verify current kernel version and apply distribution updates
uname -r
apt-get update && apt-get upgrade linux-image-$(uname -r)

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.