Vulnerability · Published May 20, 2025 · Assigned by Linux

CVE-2025-37957KVM: SVM: Forcibly leave SMM mode on SHUTDOWN interception

High 8.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 9% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)8.8High
Exploit odds (30 days)0.2%top 91.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: KVM: SVM: Forcibly leave SMM mode on SHUTDOWN interception Previously, commit ed129ec9057f ("KVM: x86: forcibly leave nested mode on vCPU reset") addressed an issue where a triple fault occurring in nested mode could lead to use-after-free scenarios. However, the commit did not handle the analogous situation for System Management Mode (SMM). This omission results in triggering a WARN when KVM forces a vCPU INIT after SHUTDOWN interception while the vCPU is in SMM. This situation was reprodused using Syzkaller by: 1) Creating a KVM VM and vCPU 2) Sending a KVM_SMI ioctl to explicitly enter SMM 3) Executing invalid instructions causing consecutive exceptions and eventually a triple fault The issue manifests as follows: WARNING: CPU: 0 PID: 25506 at arch/x86/kvm/x86.c:12112 kvm_vcpu_reset+0x1d2/0x1530 arch/x86/kvm/x86.c:12112 Modules linked in: CPU: 0 PID: 25506 Comm: syz-executor.0 Not tainted 6.1.130-syzkaller-00157-g164fe5dde9b6 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:kvm_vcpu_reset+0x1d2/0x1530 arch/x86/kvm/x86.c:12112 Call Trace: <TASK> shutdown_interception+0x66/0xb0 arch/x86/kvm/svm/svm.c:2136 svm_invoke_exit_handler+0x110/0x530 arch/x86/kvm/svm/svm.c:3395 svm_handle_exit+0x424/0x920 arch/x86/kvm/svm/svm.c:3457 vcpu_enter_guest arch/x86/kvm/x86.c:10959 [inline] vcpu_run+0x2c43/0x5a90 arch/x86/kvm/x86.c:11062 kvm_arch_vcpu_ioctl_run+0x50f/0x1cf0 arch/x86/kvm/x86.c:11283 kvm_vcpu_ioctl+0x570/0xf00 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4122 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl fs/ioctl.c:856 [inline] __x64_sys_ioctl+0x19a/0x210 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x35/0x80 arch/x86/entry/common.c:81 entry_SYSCALL_64_after_hwframe+0x6e/0xd8 Architecturally, INIT is blocked when the CPU is in SMM, hence KVM's WARN() in kvm_vcpu_reset() to guard against KVM bugs, e.g. to detect improper emulation of INIT. SHUTDOWN on SVM is a weird edge case where KVM needs to do _something_ sane with the VMCB, since it's technically undefined, and INIT is the least awful choice given KVM's ABI. So, double down on stuffing INIT on SHUTDOWN, and force the vCPU out of SMM to avoid any weirdness (and the WARN). Found by Linux Verification Center (linuxtesting.org) with Syzkaller. [sean: massage changelog, make it clear this isn't architectural behavior]

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linuxno fix listedDEBIAN-CVE-2025-37957
Debian:13linux6.12.29-1DEBIAN-CVE-2025-37957
Debian:14linux6.12.29-1DEBIAN-CVE-2025-37957
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux6.8.0-100.100UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-aws6.8.0-1046.49UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-aws-6.146.14.0-1011.11~24.04.1UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-aws-6.146.14.0-1011.11~24.04.1USN-7699-1
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1046.49~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-azure6.8.0-1046.52UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1051.57~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-azure-fde6.8.0-1046.53UBUNTU-CVE-2025-37957
Ubuntu:25.10linux-azure-fdeno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-azure-fde-6.86.8.0-1046.53~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-gcp6.8.0-1047.50UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-gcp-6.146.14.0-1014.15~24.04.1USN-7699-1
Ubuntu:24.04:LTSlinux-gcp-6.146.14.0-1014.15~24.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1047.50~22.04.2UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-gke6.8.0-1043.48UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1030.33UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-hwe-6.146.14.0-28.28~24.04.1USN-7699-2
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-100.100~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-ibm6.8.0-1044.44UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1044.44~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-100.100.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-100.100.1~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1046.49UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1046.49~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1046.49.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1020.20UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-oem-6.146.14.0-1010.10UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-oem-6.146.14.0-1010.10USN-7699-2
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-oracle6.8.0-1043.44UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-oracle-6.146.14.0-1011.11~24.04.1USN-7699-1
Ubuntu:24.04:LTSlinux-oracle-6.146.14.0-1011.11~24.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1043.44~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-raspi6.8.0-1047.51UBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-riscv-6.146.14.0-28.28.1~24.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-100.100~22.04.1UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-37957
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1023.24UBUNTU-CVE-2025-37957
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2025-37957

Affected products (as reported)

VendorProductVersions
Linux Linux ed129ec9057f89d615ba0c81a4984a90345a1684 – before dc86a9cd181788f6cc4a2dbcd92ea6473dc2923fed129ec9057f89d615ba0c81a4984a90345a1684 – before ec24e62a1dd3540ee696314422040180040c1e4aed129ec9057f89d615ba0c81a4984a90345a1684 – before d362b21fefcef7eda8f1cd78a5925735d2b3287ced129ec9057f89d615ba0c81a4984a90345a1684 – before e9b28bc65fd3a56755ba503258024608292b4ab1ed129ec9057f89d615ba0c81a4984a90345a1684 – before a2620f8932fa9fdabc3d78ed6efb004ca409019f6425c590d0cc6914658a630a40b7f8226aa028c3d40ef0a511676bd65ca9acb295430c07af59ab855.15.81 – before 5.16
Linux Linux 6.1

References