CVE-2026-89445

iommufd: Fix UAF in selftest IOPF reporting

State
Published
Severity
8.8 High
Published
Sep 11, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

iommufd: Fix UAF in selftest IOPF reporting

IOMMUFD selftest TRIGGER_IOPF borrows an attach handle from group->pasid_array without synchronizing against PASID detach, then a concurrent iommu_report_device_fault() can dereference that borrowed handle's domain pointer after the detach erases the handle and frees the backing struct iommufd_attach_handle. TRIGGER_IOPF then dereferences the freed handle, causing a UAF.

Fix by adding a iopf_rwsem in mock_dev to follow the expected design of a real driver. Hold its read side across the whole iommu_report_device_fault() call, and its write side around every path that attaches, detaches, or replaces a device domain. This can block new reports and drains in-flight reports before an old attach handle or the IOPF fault parameter can be removed. Also take the write side while registering a mock device, since it can invoke the mock driver's default-domain attach callback.

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ddee19971081b42615d62f4fdada21274708ed4d to before fd2e7ac94d6d813548b021473c3dddc30c8c07d1Affected
  • ddee19971081b42615d62f4fdada21274708ed4d to before cab2895729516799384d48560e6fca105fb3f927Affected
  • ddee19971081b42615d62f4fdada21274708ed4d to before e27e90bde68b2ab92e63ed19caad1ef57188bea0Affected
  • ddee19971081b42615d62f4fdada21274708ed4d to before 8c07df7cdfcf52f1ff276c588612aabc6c6b8399Affected
LinuxLinux
  • 6.11Affected
  • before 6.11Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.