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 perfUpgrade kernel-debuginfoUpgrade python-perfUpgrade kernel-headersUpgrade kernel-tools-develUpgrade perf-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.10.239-236.958Upgrade bpftool-debuginfoUpgrade bpftoolUpgrade kernelUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.15.187-130.192Upgrade kernel-tools | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade perf6.12Upgrade kernel-tools-debuginfoUpgrade kernel-modules-extraUpgrade perfUpgrade kernel-debuginfoUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12Upgrade perf6.12-debuginfoUpgrade kernel-headersUpgrade kernel-livepatch-6.12.31-35.92Upgrade bpftool-debuginfoUpgrade kernel-tools-develUpgrade kernel-libbpfUpgrade kernel6.12-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-livepatch-6.1.141-155.222Upgrade perf-debuginfoUpgrade python3-perf6.12Upgrade python3-perfUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel6.12-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-libbpf-develUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernelUpgrade kernel-libbpf-static | Jul 11, 2025 | Jun 18, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Jun 20, 2025 | Jun 18, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernelUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-tools-libs | Mar 17, 2026 | Mar 17, 2026 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernelUpgrade python3-perf | Mar 17, 2026 | Mar 17, 2026 |
| Huawei Euleros 2_0_sp13 | — | Upgrade python3-perfUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools | Feb 3, 2026 | Feb 2, 2026 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jun 18, 2025 |
| Suse | — | Upgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-azureUpgrade kernel-64kb-develUpgrade kernel-64kb-optionalUpgrade dtb-caviumUpgrade kernel-default-baseUpgrade ocfs2-kmp-azureUpgrade dtb-appleUpgrade kernel-source-azureUpgrade kselftests-kmp-defaultUpgrade gfs2-kmp-defaultUpgrade kernel-default-develUpgrade kernel-symsUpgrade kselftests-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade dtb-broadcomUpgrade kernel-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-docsUpgrade dlm-kmp-defaultUpgrade dtb-apmUpgrade kernel-develUpgrade dtb-renesasUpgrade ocfs2-kmp-rtUpgrade kernel-debug-develUpgrade cluster-md-kmp-azureUpgrade dtb-marvellUpgrade dtb-mediatekUpgrade dtb-allwinnerUpgrade kernel-azure-optionalUpgrade ocfs2-kmp-defaultUpgrade kernel-devel-rtUpgrade kernel-docs-htmlUpgrade kernel-rt-develUpgrade kernel-rt_debugUpgrade dtb-amdUpgrade kernel-rt-livepatchUpgrade dtb-xilinxUpgrade kernel-default-optionalUpgrade kernel-kvmsmall-develUpgrade kernel-default-livepatch-develUpgrade kernel-zfcpdumpUpgrade cluster-md-kmp-rtUpgrade dtb-amazonUpgrade dtb-socionextUpgrade dtb-hisiliconUpgrade kernel-azure-extraUpgrade kernel-default-livepatchUpgrade reiserfs-kmp-rtUpgrade kernel-debugUpgrade dtb-freescaleUpgrade dtb-lgUpgrade kernel-64kb-extraUpgrade dtb-alteraUpgrade kernel-default-base-rebuildUpgrade kernel-source-rtUpgrade kernel-azure-develUpgrade cluster-md-kmp-defaultUpgrade dtb-rockchipUpgrade kernel-devel-azureUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmallUpgrade dtb-exynosUpgrade kselftests-kmp-64kbUpgrade kernel-syms-azureUpgrade kernel-rt-vdsoUpgrade reiserfs-kmp-azureUpgrade kernel-rtUpgrade dtb-armUpgrade kernel-rt_debug-vdsoUpgrade kernel-defaultUpgrade kernel-debug-vdsoUpgrade kernel-obs-qaUpgrade kernel-obs-buildUpgrade dtb-qcomUpgrade kernel-macrosUpgrade kernel-syms-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-rt-extraUpgrade kernel-azure-vdsoUpgrade kernel-source-vanillaUpgrade kernel-rt_debug-develUpgrade gfs2-kmp-rtUpgrade dlm-kmp-rtUpgrade kernel-rt-livepatch-develUpgrade kernel-kvmsmall-vdsoUpgrade dlm-kmp-azureUpgrade kernel-default-vdsoUpgrade kernel-rt-optionalUpgrade kernel-azureUpgrade kernel-default-extraUpgrade dtb-nvidiaUpgrade dtb-amlogicUpgrade cluster-md-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-sourceUpgrade dtb-sprd | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-6.14.0-1016-gcpUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-24.04cUpgrade linux-image-oem-6.14Upgrade linux-image-oem-22.04bUpgrade linux-image-6.14.0-1012-realtimeUpgrade linux-image-gcpUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-ibmUpgrade linux-image-nvidia-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-virtualUpgrade linux-image-kvmUpgrade linux-image-oracleUpgrade linux-image-gkeop-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-6.14.0-32-genericUpgrade linux-image-generic-lpaeUpgrade linux-image-oracle-64kUpgrade linux-image-generic-64k-6.14Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-genericUpgrade linux-image-6.14.0-1013-oracleUpgrade linux-image-oem-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-aws-64k-6.14Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-virtual-6.14Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-realtimeUpgrade linux-image-aws-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-gkeopUpgrade linux-image-raspi-realtimeUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-6.14.0-1014-raspiUpgrade linux-image-generic-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-intel-iotgUpgrade linux-image-gkeUpgrade linux-image-aws-fips-6.8Upgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-xilinxUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-lowlatency-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-nvidia-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-oem-22.04Upgrade linux-image-generic-6.14Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-6.14.0-1013-aws-64kUpgrade linux-image-raspiUpgrade linux-image-awsUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-azure-6.14Upgrade linux-image-aws-lts-24.04Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-nvidiaUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.14.0-32-generic-64kUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gke-64kUpgrade linux-image-azureUpgrade linux-image-oracle-6.8Upgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-azure-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-6.8.0-100-genericUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-gcp-6.14Upgrade linux-image-oem-22.04cUpgrade linux-image-6.14.0-1013-oracle-64kUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-generic-64k-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-realtime-6.14Upgrade linux-image-raspi-6.14Upgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-6.14.0-1012-azureUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1016-gcp-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-oracle-6.14Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1046-azureUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-6.14.0-1012-oemUpgrade linux-image-raspi-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-gke-6.8Upgrade linux-image-aws-6.14Upgrade linux-image-6.14.0-1013-awsUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1047-gcp-64k | 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