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.
Published: 2026-09-11
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial‑of‑Service
Action: Update Kernel
AI Analysis

Impact

The vulnerability is a use‑after‑free (CWE‑825) in the Linux kernel’s IOMMUFD selftest TRIGGER_IOPF function. An attach handle is borrowed from a PASID array without proper synchronization, and a concurrent iommu_report_device_fault() call can free that handle while it is still referenced. This causes a dereference of freed memory, which can crash the kernel and potentially expose sensitive information. The flaw does not provide a direct route to privilege escalation but can lead to a denial of service.

Affected Systems

This flaw affects Linux kernel builds that include the IOMMUFD selftest and lack the iopf_rwsem synchronization introduced to fix the issue. The specific kernel versions are not enumer any kernel prior to the commit that added the lock may be impacted. Exact version information is missing.

Risk and Exploitability

The CVSS score of 4.1 indicates low to moderate severity, and the EPSS score of less than 1% suggests a very low probability of exploitation. The flaw is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker would need local or privileged access to trigger the selftest and fault report, and the primary consequence is a kernel crash leading to service disruption, rather than direct privilege escalation or data exfiltration.

Generated by OpenCVE AI on September 13, 2026 at 03:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest kernel update that incorporates the iopf_rwsem synchronization fix, or rebuild the kernel with the commit that introduces the patch.
  • If an immediate update is not possible, recompile the kernel with the IOMMUFD selftest or TRIGGER_IOPF disabled (e.g., CONFIG_IOMMUFD_SELFTEST=n) to eliminate the risk.
  • After applying the fix or disabling the test, monitor kernel logs (dmesg, journalctl) for any IOMMUFD‑related warnings or crash events to confirm mitigation efficacy.

Generated by OpenCVE AI on September 13, 2026 at 03:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'}


Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
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.
Title iommufd: Fix UAF in selftest IOPF reporting
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-13T06:29:27.592Z

Reserved: 2026-09-11T19:38:34.704Z

Link: CVE-2026-89445

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:24.990

Modified: 2026-09-13T07:17:09.093

Link: CVE-2026-89445

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:43:12Z

Links: CVE-2026-89445 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T04:00:08Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference