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]
CVSS Details
- CVSS 3.1 Base Score: 8.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel-libbpf-develUpgrade perf6.12-debuginfoUpgrade kernel-tools-develUpgrade python3-perf6.12-debuginfoUpgrade kernel-develUpgrade kernel-headersUpgrade python3-perf6.12Upgrade kernel6.12-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-libbpf-staticUpgrade kernel-libbpfUpgrade kernel6.12Upgrade bpftoolUpgrade kernel-livepatch-6.12.29-33.102Upgrade bpftool-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade perf6.12Upgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12-modules-extra | Jul 11, 2025 | May 20, 2025 |
| Debian | — | Upgrade linux | May 28, 2025 | May 20, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 20, 2025 |
| Suse | — | Upgrade dtb-renesasUpgrade reiserfs-kmp-defaultUpgrade kernel-64kbUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-64kbUpgrade kernel-default-develUpgrade kernel-64kb-develUpgrade kernel-zfcpdumpUpgrade kernel-kvmsmallUpgrade kernel-debugUpgrade dtb-amazonUpgrade kernel-obs-qaUpgrade kernel-64kb-optionalUpgrade kernel-devel-azureUpgrade kernel-devel-rtUpgrade dtb-apmUpgrade kselftests-kmp-64kbUpgrade dtb-amdUpgrade kernel-rt-develUpgrade dtb-socionextUpgrade cluster-md-kmp-azureUpgrade kernel-sourceUpgrade dtb-xilinxUpgrade kernel-debug-develUpgrade kernel-default-livepatch-develUpgrade dtb-allwinnerUpgrade kernel-default-extraUpgrade dtb-exynosUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-defaultUpgrade dtb-hisiliconUpgrade kernel-macrosUpgrade kernel-default-baseUpgrade dtb-lgUpgrade kernel-symsUpgrade kernel-default-optionalUpgrade ocfs2-kmp-defaultUpgrade kselftests-kmp-defaultUpgrade dtb-mediatekUpgrade kernel-azure-extraUpgrade dtb-freescaleUpgrade ocfs2-kmp-rtUpgrade gfs2-kmp-rtUpgrade dlm-kmp-64kbUpgrade dlm-kmp-azureUpgrade kernel-source-azureUpgrade reiserfs-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade cluster-md-kmp-rtUpgrade dtb-appleUpgrade dtb-amlogicUpgrade dtb-armUpgrade kernel-develUpgrade kernel-default-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-azureUpgrade kernel-azure-vdsoUpgrade kernel-debug-vdsoUpgrade kernel-rt_debugUpgrade kernel-rt-livepatch-develUpgrade kernel-default-base-rebuildUpgrade kernel-defaultUpgrade gfs2-kmp-defaultUpgrade kernel-rt-extraUpgrade kernel-docs-htmlUpgrade kselftests-kmp-azureUpgrade kernel-syms-azureUpgrade kernel-rt-vdsoUpgrade kernel-source-vanillaUpgrade kernel-azure-optionalUpgrade kernel-64kb-extraUpgrade kernel-azure-develUpgrade dtb-sprdUpgrade dtb-alteraUpgrade kernel-source-rtUpgrade dtb-rockchipUpgrade dtb-broadcomUpgrade kernel-rtUpgrade kernel-docsUpgrade gfs2-kmp-azureUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug-vdsoUpgrade kernel-rt-optionalUpgrade dtb-qcomUpgrade ocfs2-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade cluster-md-kmp-64kbUpgrade kernel-syms-rtUpgrade dtb-marvellUpgrade kernel-obs-buildUpgrade kernel-default-livepatchUpgrade dtb-caviumUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade dtb-nvidiaUpgrade reiserfs-kmp-azure | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-aws-64k-6.8Upgrade linux-image-realtime-6.14Upgrade linux-image-nvidia-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-oem-24.04cUpgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-gcpUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-nvidiaUpgrade linux-image-gcp-6.14Upgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-virtual-6.8Upgrade linux-image-azureUpgrade linux-image-6.14.0-1011-oracleUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-virtual-6.14Upgrade linux-image-aws-64k-6.14Upgrade linux-image-raspi-6.14Upgrade linux-image-oem-22.04dUpgrade linux-image-raspi-6.8Upgrade linux-image-aws-6.14Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-ibmUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-gke-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-kvmUpgrade linux-image-6.14.0-28-genericUpgrade linux-image-genericUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-aws-fips-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-generic-6.14Upgrade linux-image-raspiUpgrade linux-image-gkeopUpgrade linux-image-oracle-6.8Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.14.0-1012-raspiUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-oem-24.04aUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-6.14.0-1014-gcp-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-aws-64kUpgrade linux-image-oracleUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-6.14.0-1014-gcpUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-6.14.0-1010-realtimeUpgrade linux-image-virtualUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-6.14Upgrade linux-image-generic-6.8Upgrade linux-image-xilinxUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-6.14.0-28-generic-64kUpgrade linux-image-6.14.0-1010-azureUpgrade linux-image-oem-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oracle-6.14Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-awsUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-6.14.0-1011-oracle-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-aws-fipsUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.14.0-1011-awsUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-6.14.0-1011-aws-64kUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-fipsUpgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-6.14Upgrade linux-image-6.14.0-1010-oemUpgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-fips-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-generic-64k-6.14 | Jun 26, 2025 | May 20, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub