data built 2026-10-19T13:16:53Z

Look up another CVE · open CVE-2026-72239 in the interactive tracker

CVE-2026-72239

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

9.3 EPSS 0.2% AV:L

Published 2026-08-15 (2 months ago) by the Linux kernel CNA. Subsystem arch/x86. Debian urgency: unimportant.

What to do, per Debian release

Debian's own status for CVE-2026-72239 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source

ReleaseStatus VersionWhat this means
Debian 12bookwormnot affected6.1.190-1Nothing to do. bookworm never shipped the vulnerable code.
Debian 13trixienot affected6.12.113-1Nothing to do. trixie never shipped the vulnerable code.
Debian 14forkyfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

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. ]

Where it lives

The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.

arch/x86/virt/svm/sev.c

What this is
X86 ARCHITECTURE (32-BIT AND 64-BIT)MAINTAINERS section matched on arch/x86/ · linux-kernel@vger.kernel.org · Maintained

Check it on the machine

grep -w CONFIG_KVM_AMD_SEV /boot/config-$(uname -r)

Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.

Show whether Debian builds this, per release

Debian builds this, but not on every flavour. At least one release below builds the code on some of its kernel flavours and not on others, so the answer depends on the architecture and flavour installed. The build rule could not be established for 1 release, so nothing is claimed about those.

  • bookworm?
  • trixieYnot built on amd64/cloud-amd64, arm64/arm64, arm64/arm64-16k, arm64/cloud-arm64, arm64/rt/arm64, armel/rpi, armhf/armmp, armhf/armmp-lpae, armhf/rt/armmp, ppc64el/powerpc64le, ppc64el/powerpc64le-64k, riscv64/riscv64, s390x/s390x
  • forky, sidYnot built on amd64/cloud-amd64, arm64/arm64, arm64/arm64-16k, arm64/cloud-arm64, arm64/rt-arm64, armhf/armmp, armhf/armmp-lpae, loong64/loong64, ppc64el/powerpc64le, ppc64el/powerpc64le-64k, riscv64/riscv64, s390x/s390x
?
not established - no Makefile entry for the affected file
Y
built in where it is built at all; some flavours do not build it

Where a release above reads "not established", no build rule for the affected file was found in that release's kernel tree. That is a gap in this lookup, not a finding that the code is absent.

Build switch
CONFIG_KVM_AMD_SEV

From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages

Signals

Published
2026-08-15 (2 months ago)source
CVSS
9.3 critical
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:Hsource recompute it
Attack vector
local (AV:L)source
EPSS
0.18%, higher than 7.0% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
unimportantsource
Subsystem
arch/x86

Upstream fixes

The versions the CNA records as introducing and fixing this, and the commit for each. source

IntroducedFixed inCommit
7.17.1.5e5158ff53fdf
7.17.24c2509f3b797

Why the CNA scored it this way

Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source

AV:LAttack vector, local
The flaw is in host-side SNP platform initialization via snp_prepare(), reached only during local boot-time KVM/SEV setup or privileged KVM_SEV_INIT/ioctl paths on /dev/kvm and /dev/sev, not from any network-facing handler.
AC:LAttack complexity, low
The missing pre-SNPEn WBINVD creates a race where later WBINVD IPIs can miss dirty RMP cachelines; an attacker who can drive concurrent CPU/cache activity during init can influence this timing, and when uncertain we choose Low.
PR:NPrivileges required, none
On typical SEV-SNP cloud hosts SNP init runs automatically at boot, so a malicious confidential VM tenant needs no host privileges to exploit latent incorrect RMP state that breaks guest/host memory isolation.
UI:NUser interaction, none
Exploitation does not require any victim user action such as opening files or mounting filesystems; the vulnerable initialization runs during host boot or privileged hypervisor setup without end-user interaction.
S:CScope, changed
Corrupt or inconsistent RMP initialization undermines the SEV-SNP memory-isolation boundary between confidential guests and the hypervisor, enabling cross-boundary impact beyond the initializing kernel component's security scope.
C:HConfidentiality impact, high
Incorrect RMP table state from unflushed dirty cachelines can break private/shared page tracking and allow unauthorized reads of host or other guest memory across the confidentiality boundary on affected AMD SEV-SNP systems.
I:HIntegrity impact, high
RMP metadata corruption can mislabel page ownership and permissions, potentially permitting unauthorized writes or guest-controlled modification of hypervisor memory and enabling further compromise of the isolation model.
A:HAvailability impact, high
Violating RMP initialization requirements can trigger fatal RMP faults (#PF) that crash the host kernel, and SNP init failures or inconsistent RMP state can deny availability of confidential VM services.