CVE-2026-89451

Summary

In the Linux kernel, the following vulnerability has been resolved:

iommu/sva: Set handle->dev before the SVA handle is visible

iommu_attach_device_pasid() installs the new SVA attach handle in the group PASID lookup before iommu_sva_bind_device() returns. A concurrent bind can therefore find and reuse the same handle after iommu_sva_lock is dropped.

handle->dev was initialized after dropping iommu_sva_lock. This leaves a window where a racing bind can return a handle whose dev pointer is still NULL. A subsequent iommu_sva_unbind_device() can then dereference it via handle->dev->iommu_group.

Initialize handle->dev before releasing iommu_sva_lock so any visible SVA handle is fully initialized.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e < bcffb1c75da8fc9d51168ff9f09d471c26507912affected
LinuxLinuxbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e < 968e9a1f71140c86dc4092f6b361e997923f3813affected
LinuxLinuxbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e < 37a96a30617a4c96f048a5874c00509bc4fe4d85affected
LinuxLinuxbe51b1d6bbff48c7d1943a8ff1e5a55777807f6e < 530f8f9c3546cb3ebee1b135375aaee08a073ebbaffected
LinuxLinux6.2affected
LinuxLinux0 < 6.2unaffected
LinuxLinux6.12.109 <= 6.12.*unaffected
LinuxLinux6.18.50 <= 6.18.*unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References