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 rvUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-64k-debugUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rtUpgrade kernel-coreUpgrade kernel-uki-virtUpgrade kernel-64k-develUpgrade kernel-zfcpdump-coreUpgrade kernel-headersUpgrade bpftoolUpgrade kernel-rt-debugUpgrade kernel-64kUpgrade kernel-debug-coreUpgrade kernel-zfcpdumpUpgrade kernel-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-debug-modules-coreUpgrade kernel-64k-modules-extraUpgrade python3-perfUpgrade kernel-debug-develUpgrade kernel-rt-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-develUpgrade kernel-64k-debug-modules-extraUpgrade rtlaUpgrade kernel-64k-debug-coreUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-docUpgrade kernel-tools-libs-develUpgrade kernel-64k-debug-develUpgrade kernel-64k-devel-matchedUpgrade libperfUpgrade kernel-64k-modules-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-64k-debug-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-64k-debug-modulesUpgrade perfUpgrade kernel-cross-headersUpgrade kernelUpgrade kernel-modulesUpgrade kernel-rt-modulesUpgrade kernel-zfcpdump-modulesUpgrade kernel-modules-coreUpgrade kernel-zfcpdump-develUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernel-64k-coreUpgrade kernel-64k-modulesUpgrade kernel-debug-devel-matched | 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 | — | No solution existsUpgrade kernel-rtUpgrade kernel | Dec 5, 2024 | Jul 5, 2024 |
| Rocky_linux | — | Upgrade kernel-rt-debug-develUpgrade kernel-coreUpgrade kernel-modules-coreUpgrade kernel-zfcpdump-develUpgrade kernel-rt-modules-extraUpgrade rtlaUpgrade kernel-headersUpgrade kernel-cross-headersUpgrade kernel-rt-debug-kvmUpgrade kernel-modulesUpgrade kernel-zfcpdump-modules-extraUpgrade kernelUpgrade python3-perfUpgrade kernel-debug-develUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-debug-uki-virtUpgrade kernel-tools-debuginfoUpgrade libperfUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-coreUpgrade kernel-debugUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debug-coreUpgrade kernel-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-tools-libsUpgrade kernel-debug-modulesUpgrade kernel-debuginfoUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-modulesUpgrade kernel-zfcpdumpUpgrade bpftoolUpgrade kernel-uki-virtUpgrade kernel-toolsUpgrade kernel-debug-modules-coreUpgrade perf-debuginfoUpgrade kernel-rtUpgrade kernel-rt-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-debuginfoUpgrade kernel-rt-debugUpgrade kernel-rt-develUpgrade kernel-zfcpdump-devel-matchedUpgrade bpftool-debuginfoUpgrade kernel-zfcpdump-modules-coreUpgrade rvUpgrade kernel-rt-kvmUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-modules-coreUpgrade perfUpgrade libperf-debuginfoUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-rt-debug-modules-coreUpgrade kernel-develUpgrade kernel-tools-libs-develUpgrade python3-perf-debuginfo | Nov 4, 2024 | Jul 5, 2024 |
| Suse | — | Upgrade dtb-broadcomUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-extraUpgrade ocfs2-kmp-rtUpgrade kernel-source-rtUpgrade kernel-syms-rtUpgrade kernel-rt_debug-vdsoUpgrade kernel-azure-livepatch-develUpgrade dtb-marvellUpgrade cluster-md-kmp-azureUpgrade kernel-default-livepatchUpgrade kernel-kvmsmall-develUpgrade kernel-rt-extraUpgrade kernel-kvmsmallUpgrade kernel-azure-vdsoUpgrade dtb-exynosUpgrade dlm-kmp-64kbUpgrade kernel-syms-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-rtUpgrade reiserfs-kmp-azureUpgrade kernel-source-azureUpgrade ocfs2-kmp-64kbUpgrade kernel-zfcpdumpUpgrade kernel-sourceUpgrade kselftests-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade kernel-azureUpgrade kernel-macrosUpgrade dtb-rockchipUpgrade kernel-obs-buildUpgrade dtb-nvidiaUpgrade kernel-obs-qaUpgrade dtb-apmUpgrade dtb-lgUpgrade kernel-rt-optionalUpgrade kselftests-kmp-azureUpgrade kernel-azure-develUpgrade kernel-debug-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-rt_debugUpgrade kernel-debug-vdsoUpgrade dtb-amlogicUpgrade dlm-kmp-azureUpgrade dtb-qcomUpgrade gfs2-kmp-rtUpgrade kernel-docs-htmlUpgrade kernel-devel-azureUpgrade kernel-rt-livepatch-develUpgrade kernel-64kb-livepatch-develUpgrade kernel-devel-rtUpgrade kernel-default-vdsoUpgrade dtb-alteraUpgrade kernel-azure-extraUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-azureUpgrade kernel-64kb-optionalUpgrade gfs2-kmp-defaultUpgrade dtb-xilinxUpgrade dtb-mediatekUpgrade dtb-hisiliconUpgrade dtb-allwinnerUpgrade dtb-socionextUpgrade kernel-source-vanillaUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-sprdUpgrade dtb-armUpgrade kernel-rt_debug-develUpgrade dtb-appleUpgrade dtb-amdUpgrade dlm-kmp-rtUpgrade kernel-symsUpgrade kernel-default-baseUpgrade kernel-default-develUpgrade kernel-debug-develUpgrade dtb-renesasUpgrade dtb-caviumUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-64kb-extraUpgrade gfs2-kmp-64kbUpgrade kernel-docsUpgrade kernel-develUpgrade kernel-azure-optionalUpgrade kernel-kvmsmall-livepatch-develUpgrade gfs2-kmp-azureUpgrade dtb-amazonUpgrade dlm-kmp-defaultUpgrade dtb-freescaleUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-64kbUpgrade kernel-64kb-develUpgrade cluster-md-kmp-64kbUpgrade kernel-defaultUpgrade kernel-debugUpgrade kernel-default-livepatch-develUpgrade reiserfs-kmp-rtUpgrade kernel-default-optional | Dec 5, 2025 | Oct 17, 2024 |
| Ubuntu | — | Upgrade linux-image-kvmUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-oracleUpgrade linux-image-oem-22.04dUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-azureUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-nvidiaUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-genericUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-1015-awsUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-45-genericUpgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-44-genericUpgrade linux-image-lowlatencyUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-gkeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-ibmUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-6.8.0-1012-oem | 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