In the Linux kernel, the following vulnerability has been resolved:
genirq/msi: Store the IOMMU IOVA directly in msi_desc instead of iommu_cookie
The IOMMU translation for MSI message addresses has been a 2-step process, separated in time:
1) iommu_dma_prepare_msi(): A cookie pointer containing the IOVA address is stored in the MSI descriptor when an MSI interrupt is allocated.
2) iommu_dma_compose_msi_msg(): this cookie pointer is used to compute a translated message address.
This has an inherent lifetime problem for the pointer stored in the cookie that must remain valid between the two steps. However, there is no locking at the irq layer that helps protect the lifetime. Today, this works under the assumption that the iommu domain is not changed while MSI interrupts being programmed. This is true for normal DMA API users within the kernel, as the iommu domain is attached before the driver is probed and cannot be changed while a driver is attached.
Classic VFIO type1 also prevented changing the iommu domain while VFIO was running as it does not support changing the "container" after starting up.
However, iommufd has improved this so that the iommu domain can be changed during VFIO operation. This potentially allows userspace to directly race VFIO_DEVICE_ATTACH_IOMMUFD_PT (which calls iommu_attach_group()) and VFIO_DEVICE_SET_IRQS (which calls into iommu_dma_compose_msi_msg()).
This potentially causes both the cookie pointer and the unlocked call to iommu_get_domain_for_dev() on the MSI translation path to become UAFs.
Fix the MSI cookie UAF by removing the cookie pointer. The translated IOVA address is already known during iommu_dma_prepare_msi() and cannot change. Thus, it can simply be stored as an integer in the MSI descriptor.
The other UAF related to iommu_get_domain_for_dev() will be addressed in patch "iommu: Make iommu_dma_prepare_msi() into a generic operation" by using the IOMMU group mutex.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-headersUpgrade perfUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade python-perfUpgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade kernel-livepatch-5.15.187-130.192Upgrade bpftool-debuginfoUpgrade kernel-livepatch-5.10.239-236.958Upgrade kernelUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64 | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-livepatch-6.12.31-35.92Upgrade kernel-libbpfUpgrade perf6.12-debuginfoUpgrade kernel6.12Upgrade kernel-modules-extraUpgrade kernel-tools-develUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade python3-perf6.12Upgrade kernel-debuginfoUpgrade kernel6.12-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-libbpf-debuginfoUpgrade perfUpgrade bpftool-debuginfoUpgrade perf6.12Upgrade kernel-livepatch-6.1.141-155.222Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-develUpgrade python3-perf-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel-toolsUpgrade kernel-modules-extra-commonUpgrade python3-perfUpgrade kernel-libbpf-staticUpgrade bpftoolUpgrade kernel-debuginfo-common-aarch64Upgrade kernel6.12-debuginfoUpgrade kernelUpgrade kernel-libbpf-devel | Jul 11, 2025 | Jun 18, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Jun 20, 2025 | Jun 18, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernelUpgrade python3-perf | Mar 17, 2026 | Mar 17, 2026 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade python3-perfUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel-tools | Mar 17, 2026 | Mar 17, 2026 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel | Feb 3, 2026 | Feb 2, 2026 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jun 18, 2025 |
| Suse | — | Upgrade kernel-symsUpgrade dtb-socionextUpgrade kernel-azure-optionalUpgrade kernel-rt-livepatchUpgrade dtb-marvellUpgrade cluster-md-kmp-azureUpgrade cluster-md-kmp-rtUpgrade dtb-amazonUpgrade kernel-zfcpdumpUpgrade kernel-azure-extraUpgrade kernel-debug-develUpgrade ocfs2-kmp-defaultUpgrade kernel-default-optionalUpgrade dtb-allwinnerUpgrade kernel-rt_debugUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade dtb-amdUpgrade ocfs2-kmp-azureUpgrade dtb-xilinxUpgrade kernel-default-baseUpgrade dtb-caviumUpgrade dtb-appleUpgrade kernel-docs-htmlUpgrade kernel-devel-rtUpgrade kernel-default-develUpgrade kselftests-kmp-rtUpgrade dtb-broadcomUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade kernel-default-livepatchUpgrade dtb-alteraUpgrade kernel-64kbUpgrade dtb-hisiliconUpgrade dtb-lgUpgrade kernel-source-azureUpgrade kernel-64kb-extraUpgrade kernel-64kb-optionalUpgrade kernel-develUpgrade kernel-debugUpgrade dlm-kmp-defaultUpgrade dtb-apmUpgrade reiserfs-kmp-defaultUpgrade dtb-renesasUpgrade dtb-mediatekUpgrade kselftests-kmp-defaultUpgrade ocfs2-kmp-rtUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-64kbUpgrade kernel-docsUpgrade dtb-freescaleUpgrade kernel-rt-develUpgrade kernel-64kb-develUpgrade kernel-source-vanillaUpgrade dlm-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade kernel-macrosUpgrade kernel-rt_debug-develUpgrade kernel-azure-vdsoUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-64kbUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmallUpgrade dlm-kmp-64kbUpgrade dtb-rockchipUpgrade kernel-default-vdsoUpgrade dtb-sprdUpgrade kernel-source-rtUpgrade gfs2-kmp-rtUpgrade dlm-kmp-rtUpgrade kernel-syms-rtUpgrade cluster-md-kmp-64kbUpgrade dtb-nvidiaUpgrade kselftests-kmp-azureUpgrade kernel-sourceUpgrade kernel-devel-azureUpgrade kernel-default-extraUpgrade kernel-azureUpgrade kernel-rt-optionalUpgrade dtb-amlogicUpgrade kernel-debug-vdsoUpgrade kernel-obs-buildUpgrade kernel-defaultUpgrade dtb-qcomUpgrade dtb-armUpgrade kernel-rt_debug-vdsoUpgrade kernel-obs-qaUpgrade kernel-syms-azureUpgrade kernel-rtUpgrade dtb-exynosUpgrade reiserfs-kmp-azureUpgrade kernel-default-base-rebuildUpgrade kernel-azure-develUpgrade reiserfs-kmp-64kbUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-vdso | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-oracleUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-ibm-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-oem-24.04Upgrade linux-image-oem-24.04bUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.14.0-32-genericUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-generic-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.14.0-1014-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-oracle-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-virtual-6.14Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.14.0-1013-oracleUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-64k-6.14Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-genericUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-aws-64kUpgrade linux-image-aws-64k-6.14Upgrade linux-image-realtimeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-gcpUpgrade linux-image-azure-6.8Upgrade linux-image-ibmUpgrade linux-image-oem-22.04bUpgrade linux-image-6.14.0-1012-realtimeUpgrade linux-image-6.14.0-1016-gcpUpgrade linux-image-nvidia-64kUpgrade linux-image-gkeUpgrade linux-image-oem-24.04cUpgrade linux-image-lowlatencyUpgrade linux-image-oem-6.14Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-aws-64k-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-virtualUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-raspi-realtimeUpgrade linux-image-generic-lpaeUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-fips-6.8Upgrade linux-image-6.14.0-32-generic-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oracle-64k-6.14Upgrade linux-image-6.8.0-1046-azureUpgrade linux-image-raspi-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-raspiUpgrade linux-image-generic-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.14.0-1012-oemUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-azureUpgrade linux-image-realtime-6.8.1Upgrade linux-image-realtime-6.14Upgrade linux-image-raspi-6.14Upgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-6.14.0-1012-azureUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-oem-22.04cUpgrade linux-image-gcp-6.14Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.14.0-1013-awsUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-azure-fipsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-fipsUpgrade linux-image-generic-6.14Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.14.0-1016-gcp-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-oracle-6.14Upgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-6.14.0-1013-oracle-64kUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.14.0-1013-aws-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-awsUpgrade linux-image-nvidiaUpgrade linux-image-gcp-fipsUpgrade linux-image-oem-22.04dUpgrade linux-image-oracle-6.8Upgrade linux-image-gke-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-lowlatency-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-azure-6.14Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-aws-6.14Upgrade linux-image-gcp-64k-6.14 | Jun 26, 2025 | Jun 18, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 8, 2025 | Jun 18, 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