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