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