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 kernel6.12-modules-extraUpgrade kernel-libbpf-debuginfoUpgrade bpftool-debuginfoUpgrade perf6.12Upgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade kernel-livepatch-6.12.29-33.102Upgrade kernel6.12Upgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-libbpf-staticUpgrade kernel-libbpfUpgrade kernel6.12-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel-tools-develUpgrade kernel-headersUpgrade python3-perf6.12Upgrade kernel-libbpf-develUpgrade kernel-develUpgrade perf6.12-debuginfoUpgrade kernel-modules-extra-common | Jul 11, 2025 | May 20, 2025 |
| Debian | — | No solution existsUpgrade linux | May 28, 2025 | May 20, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 20, 2025 |
| Suse | — | Upgrade kernel-rt_debug-vdsoUpgrade kernel-azureUpgrade kernel-source-vanillaUpgrade kernel-rt-livepatch-develUpgrade kselftests-kmp-rtUpgrade kselftests-kmp-azureUpgrade kernel-rt_debugUpgrade kernel-rt_debug-develUpgrade reiserfs-kmp-azureUpgrade kernel-rt-extraUpgrade kernel-docs-htmlUpgrade reiserfs-kmp-64kbUpgrade dlm-kmp-rtUpgrade kernel-default-livepatchUpgrade dtb-rockchipUpgrade kernel-azure-develUpgrade dtb-broadcomUpgrade kernel-docsUpgrade kernel-rtUpgrade kernel-source-rtUpgrade dtb-caviumUpgrade kernel-obs-buildUpgrade ocfs2-kmp-64kbUpgrade kernel-azure-vdsoUpgrade kernel-64kb-extraUpgrade cluster-md-kmp-64kbUpgrade kernel-syms-azureUpgrade dtb-marvellUpgrade dtb-alteraUpgrade dtb-nvidiaUpgrade dtb-qcomUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-vdsoUpgrade kernel-azure-optionalUpgrade kernel-default-base-rebuildUpgrade kernel-debug-vdsoUpgrade gfs2-kmp-defaultUpgrade kernel-defaultUpgrade kernel-rt-optionalUpgrade dtb-sprdUpgrade kernel-syms-rtUpgrade gfs2-kmp-azureUpgrade cluster-md-kmp-defaultUpgrade kernel-default-vdsoUpgrade dtb-amdUpgrade kernel-devel-azureUpgrade kernel-macrosUpgrade kernel-symsUpgrade kernel-default-extraUpgrade kselftests-kmp-defaultUpgrade kernel-source-azureUpgrade kernel-azure-extraUpgrade dtb-armUpgrade dtb-amlogicUpgrade ocfs2-kmp-rtUpgrade kernel-devel-rtUpgrade kernel-kvmsmallUpgrade kernel-sourceUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-64kb-develUpgrade gfs2-kmp-rtUpgrade dtb-appleUpgrade cluster-md-kmp-rtUpgrade dtb-mediatekUpgrade dtb-amazonUpgrade kernel-zfcpdumpUpgrade dtb-renesasUpgrade kernel-default-optionalUpgrade dtb-apmUpgrade kernel-obs-qaUpgrade kernel-default-baseUpgrade kernel-debug-develUpgrade kernel-debugUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-64kbUpgrade kernel-64kb-optionalUpgrade dlm-kmp-azureUpgrade dlm-kmp-64kbUpgrade reiserfs-kmp-defaultUpgrade kernel-default-develUpgrade kernel-64kbUpgrade dtb-freescaleUpgrade dtb-xilinxUpgrade dtb-socionextUpgrade kselftests-kmp-64kbUpgrade kernel-rt-develUpgrade dlm-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade kernel-develUpgrade dtb-lgUpgrade dtb-hisiliconUpgrade cluster-md-kmp-azureUpgrade kernel-default-livepatch-develUpgrade dtb-exynosUpgrade dtb-allwinner | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-gke-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-gcp-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-oem-24.04cUpgrade linux-image-raspiUpgrade linux-image-oem-22.04dUpgrade linux-image-oracle-64kUpgrade linux-image-generic-6.14Upgrade linux-image-gkeopUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-virtual-6.14Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-ibmUpgrade linux-image-aws-6.14Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-realtime-6.14Upgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.14.0-28-genericUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-6.14.0-1012-raspiUpgrade linux-image-gke-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-oracle-64k-6.14Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-genericUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-6.14.0-1011-oracleUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-gcp-fipsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-gcpUpgrade linux-image-intel-iotgUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-oem-22.04bUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-raspi-6.14Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-gcp-6.14Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-azureUpgrade linux-image-virtual-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-aws-6.8Upgrade linux-image-aws-64k-6.14Upgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-nvidiaUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-6.14.0-1011-awsUpgrade linux-image-6.14.0-1010-azureUpgrade linux-image-gcp-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-6.8Upgrade linux-image-fipsUpgrade linux-image-aws-64kUpgrade linux-image-oracleUpgrade linux-image-azure-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-generic-64k-6.14Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-6.14Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.14.0-1011-aws-64kUpgrade linux-image-virtualUpgrade linux-image-lowlatency-64kUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-oem-6.14Upgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-6.14.0-1010-realtimeUpgrade linux-image-xilinxUpgrade linux-image-realtimeUpgrade linux-image-awsUpgrade linux-image-6.14.0-28-generic-64kUpgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-6.14.0-1010-oemUpgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-6.14Upgrade linux-image-oem-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-6.14.0-1011-oracle-64kUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade 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.14.0-1014-gcp-64kUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-fips-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-aws-fips | 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