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