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

x86/virt/sev: Revert "Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN"

Revert

99cf1fb58e68 ("x86/virt/sev: Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN").

Section 8.8 of the SNP spec says:

Before invoking SNP_INIT_EX with INIT_RMP set to 1, software must ensure
that no CPUs contain dirty cache lines for the memory containing the RMP.

Cachelines can be moved from cache to cache in a dirty state. The
wbinvd_on_all_cpus() before SNP_INIT_EX flushes the caches for each CPU, but
if the IPIs for WBINVD race with this dirty cacheline movement, it is possible
that they may not get flushed, violating the firmware requirement.

Doing wbinvd_on_all_cpus() before setting SNPEn is safer since the RMP
table is not yet in use.

[ Heroically bisected by Srikanth. ]
[ bp: Massage commit message. ]
Published: 2026-08-15
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a race condition in the Linux kernel’s x86/virt SEV‑ES code caused by removing the required WBINVD instruction before initializing the Secure Nested Paging (SNP) RMP table. Because CPU caches were no longer flushed when the RMP was loaded, dirty cache lines could remain visible to a guest VM that had not yet been protected by firmware, allowing a malicious VM to read memory it should not access. This represents a serious information‑leakage weakness, corresponding to CWE-366.

Affected Systems

All Linux kernel installations that enable AMD SEV‑ES virtualization on processors supporting the AMD64 SNP feature are affected. The defect exists in the generic x86/virt module and applies whenever SEV‑ES is active, regardless of the specific kernel version. Versions are not restricted in the advisory, so every recent kernel that supports SEV‑ES on compatible hardware is potentially vulnerable.

Risk and Exploitability

The CVSS score of 9.3 indicates a critical severity, yet the EPSS score of <1% and the absence from CISA KEV suggest a low likelihood of exploitation. The likely attack vector is inferred to involve a malicious guest attempting to time inter‑processor interrupts and the cache flush during SNP initialization to capture dirty data; this inference is not explicitly stated in the CVE data. Practical exploitation would require precise timing of a race condition, making it difficult but not impossible, and thus the overall risk remains high for environments that rely on SEV‑ES for isolation.

Generated by OpenCVE AI on August 22, 2026 at 10:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that restores the safe WBINVD behavior before SNP initialization (commit 4c2509f3b79756679a02bea649c6a7501b58f52c)
  • If a kernel update is not immediately possible, disable SEV‑ES or the SNP configuration in the BIOS or kernel configuration to eliminate the race condition
  • Continuously review vendor advisories and kernel changelogs for any additional security updates related to SEV‑ES and cache flushing

Generated by OpenCVE AI on August 22, 2026 at 10:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 09:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-410

Wed, 19 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-366
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-410

Mon, 17 Aug 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.3, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'}


Sat, 15 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: x86/virt/sev: Revert "Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN" Revert 99cf1fb58e68 ("x86/virt/sev: Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN"). Section 8.8 of the SNP spec says: Before invoking SNP_INIT_EX with INIT_RMP set to 1, software must ensure that no CPUs contain dirty cache lines for the memory containing the RMP. Cachelines can be moved from cache to cache in a dirty state. The wbinvd_on_all_cpus() before SNP_INIT_EX flushes the caches for each CPU, but if the IPIs for WBINVD race with this dirty cacheline movement, it is possible that they may not get flushed, violating the firmware requirement. Doing wbinvd_on_all_cpus() before setting SNPEn is safer since the RMP table is not yet in use. [ Heroically bisected by Srikanth. ] [ bp: Massage commit message. ]
Title x86/virt/sev: Revert "Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN"
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:41:54.072Z

Reserved: 2026-08-09T03:40:39.914Z

Link: CVE-2026-72239

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:50.970

Modified: 2026-08-17T06:18:25.467

Link: CVE-2026-72239

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72239 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T10:45:03Z

Weaknesses
  • CWE-366

    Race Condition within a Thread