GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux iommufd: use-after-free on a borrowed attach handle in the selftest IOPF path

CVSS 8.8CVE-2026-89445Kernel, userspace & hypervisorcurated

Impact

The iommufd selftest TRIGGER_IOPF path borrows an attach handle from group->pasid_array without synchronizing against PASID detach, so a concurrent iommu_report_device_fault() can dereference the handle's domain after the detach has freed the backing struct iommufd_attach_handle. The fix adds an iopf_rwsem in mock_dev, held for read across the whole fault report and for write around every attach, detach, replace and mock device registration. The operator-relevant point is the scope: this lives in the mock driver reached only through the iommufd selftest interface, which requires CONFIG_IOMMUFD_TEST. A production kernel built without that option does not contain the affected code, and no equivalent flaw in the real iommufd attach path is claimed here. It is worth checking on hosts that do GPU and DPU passthrough only because iommufd is the passthrough control path and vendor or distro debug kernels sometimes enable the test option.

Who can reach it

Local user with access to the iommufd selftest interface on a kernel built with CONFIG_IOMMUFD_TEST. Not reachable on a stock production kernel without that option.

What to do

First confirm whether your kernel is built with CONFIG_IOMMUFD_TEST; if it is not, no action is needed. If it is - a debug or lab kernel - take the stable fix and reboot the node, or rebuild without the test option. The record names stable commits, not a released version.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.