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