In the Linux kernel, the following vulnerability has been resolved:
KVM: SVM: WARN on vNMI + NMI window iff NMIs are outright masked
When requesting an NMI window, WARN on vNMI support being enabled if and only if NMIs are actually masked, i.e. if the vCPU is already handling an NMI. KVM's ABI for NMIs that arrive simultanesouly (from KVM's point of view) is to inject one NMI and pend the other. When using vNMI, KVM pends the second NMI simply by setting V_NMI_PENDING, and lets the CPU do the rest (hardware automatically sets V_NMI_BLOCKING when an NMI is injected).
However, if KVM can't immediately inject an NMI, e.g. because the vCPU is in an STI shadow or is running with GIF=0, then KVM will request an NMI window and trigger the WARN (but still function correctly).
Whether or not the GIF=0 case makes sense is debatable, as the intent of KVM's behavior is to provide functionality that is as close to real hardware as possible. E.g. if two NMIs are sent in quick succession, the probability of both NMIs arriving in an STI shadow is infinitesimally low on real hardware, but significantly larger in a virtual environment, e.g. if the vCPU is preempted in the STI shadow. For GIF=0, the argument isn't as clear cut, because the window where two NMIs can collide is much larger in bare metal (though still small).
That said, KVM should not have divergent behavior for the GIF=0 case based on whether or not vNMI support is enabled. And KVM has allowed simultaneous NMIs with GIF=0 for over a decade, since commit 7460fb4a3400 ("KVM: Fix simultaneous NMIs"). I.e. KVM's GIF=0 handling shouldn't be modified without a *really* good reason to do so, and if KVM's behavior were to be modified, it should be done irrespective of vNMI support.
CVSS Details
- CVSS 3.1 Base Score: 7.1
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade rvUpgrade kernel-zfcpdump-develUpgrade kernel-debug-uki-virtUpgrade kernel-rt-develUpgrade kernel-modules-coreUpgrade kernel-64k-develUpgrade kernel-zfcpdump-coreUpgrade kernel-64kUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rtUpgrade kernel-debug-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-modules-extraUpgrade kernel-64k-modulesUpgrade kernel-coreUpgrade kernel-debugUpgrade kernel-docUpgrade kernel-64k-debug-develUpgrade kernel-tools-libs-develUpgrade kernel-64k-debug-coreUpgrade python3-perfUpgrade kernel-rt-coreUpgrade kernel-64k-debug-modules-extraUpgrade rtlaUpgrade kernel-develUpgrade kernel-64k-devel-matchedUpgrade kernel-headersUpgrade kernel-cross-headersUpgrade kernel-rt-debug-modules-extraUpgrade kernel-devel-matchedUpgrade kernel-64k-modules-coreUpgrade kernel-rt-modules-extraUpgrade libperfUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-develUpgrade kernel-64k-modules-extraUpgrade kernel-64k-debug-modulesUpgrade perfUpgrade kernelUpgrade kernel-64k-debug-modules-coreUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-coreUpgrade kernel-rt-debugUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-debug-modules-coreUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-zfcpdump | Oct 28, 2024 | Jul 5, 2024 |
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Oracle_linux | — | Upgrade kernel-uekUpgrade kernel | Oct 16, 2024 | Jul 5, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Dec 5, 2024 | Jul 5, 2024 |
| Rocky_linux | — | Upgrade bpftool-debuginfoUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-debug-modules-extraUpgrade perf-debuginfoUpgrade kernel-rtUpgrade python3-perf-debuginfoUpgrade kernel-rt-kvmUpgrade kernel-tools-libs-develUpgrade kernel-uki-virtUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debuginfoUpgrade kernel-rt-modules-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-rt-debug-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-debug-modules-coreUpgrade kernel-develUpgrade rvUpgrade perfUpgrade libperf-debuginfoUpgrade kernel-rt-develUpgrade kernel-rt-modulesUpgrade kernel-rt-debugUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-debug-coreUpgrade kernel-debug-uki-virtUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-debugUpgrade kernel-modules-extraUpgrade kernel-headersUpgrade kernel-rt-debug-coreUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-modulesUpgrade kernel-modules-coreUpgrade kernel-coreUpgrade kernel-tools-libsUpgrade kernel-rt-coreUpgrade libperfUpgrade kernel-rt-debug-kvmUpgrade kernel-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernelUpgrade kernel-cross-headersUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-debug-modulesUpgrade python3-perfUpgrade kernel-devel-matchedUpgrade kernel-debug-develUpgrade rtlaUpgrade kernel-zfcpdump-devel | Nov 4, 2024 | Jul 5, 2024 |
| Suse | — | Upgrade dlm-kmp-rtUpgrade kernel-azure-optionalUpgrade kernel-develUpgrade kernel-kvmsmall-livepatch-develUpgrade gfs2-kmp-azureUpgrade dtb-amazonUpgrade kernel-default-vdsoUpgrade gfs2-kmp-64kbUpgrade kernel-docsUpgrade cluster-md-kmp-rtUpgrade kernel-devel-rtUpgrade dtb-mediatekUpgrade kernel-64kbUpgrade kernel-rt-develUpgrade ocfs2-kmp-azureUpgrade reiserfs-kmp-rtUpgrade kernel-64kb-develUpgrade ocfs2-kmp-defaultUpgrade dtb-freescaleUpgrade cluster-md-kmp-64kbUpgrade kernel-default-develUpgrade kernel-symsUpgrade dtb-alteraUpgrade dtb-allwinnerUpgrade dlm-kmp-defaultUpgrade kernel-azure-extraUpgrade dtb-renesasUpgrade kernel-defaultUpgrade dtb-amdUpgrade kernel-rt_debug-develUpgrade dtb-sprdUpgrade kernel-debug-develUpgrade gfs2-kmp-defaultUpgrade kernel-64kb-optionalUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-source-vanillaUpgrade kernel-default-baseUpgrade dtb-appleUpgrade kernel-debugUpgrade dtb-xilinxUpgrade kernel-default-livepatch-develUpgrade dtb-socionextUpgrade reiserfs-kmp-defaultUpgrade kernel-64kb-extraUpgrade dtb-caviumUpgrade kernel-default-optionalUpgrade kselftests-kmp-rtUpgrade dtb-armUpgrade kernel-64kb-livepatch-develUpgrade dtb-hisiliconUpgrade kernel-default-livepatchUpgrade kernel-default-base-rebuildUpgrade kernel-rt-livepatch-develUpgrade kernel-devel-azureUpgrade kernel-debug-livepatch-develUpgrade kernel-azure-vdsoUpgrade kernel-macrosUpgrade kernel-azure-develUpgrade dtb-marvellUpgrade reiserfs-kmp-64kbUpgrade kernel-source-azureUpgrade kernel-rt_debugUpgrade kernel-rt-vdsoUpgrade kernel-debug-vdsoUpgrade dtb-amlogicUpgrade kernel-docs-htmlUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade kernel-zfcpdumpUpgrade kernel-syms-azureUpgrade kernel-rtUpgrade kernel-azureUpgrade dtb-exynosUpgrade dlm-kmp-64kbUpgrade dtb-nvidiaUpgrade dtb-lgUpgrade kernel-sourceUpgrade dtb-apmUpgrade cluster-md-kmp-defaultUpgrade kselftests-kmp-defaultUpgrade kselftests-kmp-azureUpgrade kernel-rt-optionalUpgrade kernel-obs-qaUpgrade kernel-obs-buildUpgrade dtb-rockchipUpgrade dtb-broadcomUpgrade kernel-rt_debug-vdsoUpgrade kernel-syms-rtUpgrade kernel-source-rtUpgrade kernel-kvmsmall-develUpgrade kernel-default-extraUpgrade kernel-rt-extraUpgrade kernel-azure-livepatch-develUpgrade cluster-md-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmallUpgrade gfs2-kmp-rtUpgrade dtb-qcomUpgrade dlm-kmp-azure | Dec 5, 2025 | Oct 17, 2024 |
| Ubuntu | — | Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-oracleUpgrade linux-image-oem-22.04bUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-oem-22.04dUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-nvidia-64kUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-azureUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-44-genericUpgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-ibmUpgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-64kUpgrade linux-image-virtualUpgrade linux-image-6.8.0-45-genericUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1015-awsUpgrade linux-image-6.8.0-1012-oemUpgrade linux-image-genericUpgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-oem-22.04a | Sep 12, 2024 | Jul 5, 2024 |
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