Skip to main content

Linux Kernel CVE-2026-64310

| EUVDEUVD-2026-49022 MEDIUM
2026-07-25 Linux GHSA-cfm2-f7px-wg9f
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local /dev/sev access with low privilege is sufficient to crash the host; no confidentiality or integrity impact applies.

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

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

5
Analysis Generated
Sep 04, 2026 - 13:08 vuln.today
CVSS changed
Sep 04, 2026 - 13:07 NVD
5.5 (MEDIUM)
Patch available
Jul 25, 2026 - 11:18 EUVD
CVE Published
Jul 25, 2026 - 08:49 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 25, 2026 - 08:49 nvd
MEDIUM 5.5

DescriptionNVD

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

crypto: ccp - Do not initialize SNP for SEV ioctls

Sashiko notes:

> if SEV initialization fails and KVM is actively running normal VMs, could a > userspace process trigger this code path via /dev/sev ioctls (e.g., > SEV_PDH_GEN) and zero out MSR_VM_HSAVE_PA globally? Would the next VMRUN > execution for an active VM trigger a general protection fault and crash the > host?

sev_move_to_init_state() is called for ioctls requiring only SEV firmware: SEV_PEK_GEN, SEV_PDH_GEN, SEV_PEK_CSR, SEV_PEK_CERT_IMPORT, and SEV_PDH_CERT_EXPORT. After the firmware command, it does SEV_SHUTDOWN on the SEV firmware. Since these commands do not require SNP to be initialized, skip it by calling __sev_platform_init_locked() which only initializes the SEV firmware. This way SNP is not Initialized at all, and HSAVE_PA is not cleared.

The previous code saved any SEV initialization firmware error to init_args.error and then threw it away and hardcoded the return value of INVALID_PLATFORM_STATE regardless of the real firmware error. This patch changes it to surface the underlying error, which is hopefully both more useful and doesn't cause any problems.

Note that it is still safe to call __sev_firmware_shutdown() directly: it calls __sev_snp_shutdown_locked(), which skips SNP shutdown if SNP was not initialized.

AnalysisAI

Denial of service in the Linux kernel's AMD CCP/SEV driver allows a local low-privileged process to crash a KVM hypervisor host by submitting SEV firmware ioctls to /dev/sev, which incorrectly triggers SNP initialization and zeroes the MSR_VM_HSAVE_PA register, causing a general protection fault on the next VMRUN and terminating all running virtual machines. Affected kernels span from the introducing commit (ceac7fb89e8da465aec3ac3c20477f912f5c3a6c) through the fixed stable releases 6.12.96, 6.18.39, and 7.1.4. No public exploit has been identified and EPSS is 0.22%, but the blast radius - crashing the host and all its tenant VMs - warrants prompt patching on AMD EPYC KVM deployments.

Technical ContextAI

The CCP (AMD Cryptographic Coprocessor) kernel driver implements SEV (Secure Encrypted Virtualization) and SEV-SNP (Secure Nested Paging) support for AMD EPYC processors. The vulnerable function sev_move_to_init_state() is invoked when userspace submits SEV firmware ioctls - SEV_PDH_GEN, SEV_PEK_GEN, SEV_PEK_CSR, SEV_PEK_CERT_IMPORT, and SEV_PDH_CERT_EXPORT - via /dev/sev. Prior to the fix, this function called the full platform init path, which unnecessarily attempted SNP initialization. SNP initialization writes to MSR_VM_HSAVE_PA, the AMD-V host save area physical address register that KVM depends on for VMRUN context save. If the SNP initialization path fails mid-way, MSR_VM_HSAVE_PA is globally zeroed on the processor, corrupting KVM's VM execution state. Though no CWE is formally assigned, this maps closely to CWE-665 (Improper Initialization) and CWE-664 (Improper Control of a Resource Through its Lifetime). The fix bypasses SNP initialization for these ioctl paths by calling __sev_platform_init_locked() directly, and also corrects a secondary bug where the real firmware error code was discarded and hardcoded as INVALID_PLATFORM_STATE.

RemediationAI

Update to a fixed kernel release: 6.12.96 or later for the 6.12.x branch, 6.18.39 or later for the 6.18.x branch, or 7.1.4 or later for the 7.1.x branch. Patch commits are available directly at https://git.kernel.org/stable/c/5181e88da99c3d1d41e25db3472a62b8d4b42cdd, https://git.kernel.org/stable/c/9e983d0a74a6a2348e4ce61647ec8a4dfbe198ac, https://git.kernel.org/stable/c/d51207735e7c224cf591fa260c557a451a69a5cf, and https://git.kernel.org/stable/c/fb1758e74b8061aacfbce7bbb7a7cc650537e167. Distribution vendors (RHEL, Ubuntu, Debian, SUSE) will backport these fixes to their own kernel packages at varying cadences; check vendor errata independently. As a compensating control on unpatched systems, restrict /dev/sev access using udev rules (e.g., MODE=0600, owner=root) to prevent unprivileged processes from submitting SEV ioctls; note this does not protect against processes already running as root or modules with direct device access, and may break legitimate SEV management tooling that runs under service accounts.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected

Share

CVE-2026-64310 vulnerability details – vuln.today

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