CVE-2026-89451 in Linuxinfo

Summary

by MITRE • 09/12/2026

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.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 09/12/2026

The vulnerability identified in the Linux kernel's IOMMU subsystem involves a race condition within the Shared Virtual Addressing (SVA) mechanism, specifically during the device attachment process using PASID lookup. The core issue stems from an improper ordering of initialization steps relative to lock release and handle visibility. When iommu_attach_device_pasid() installs a new SVA attach handle into the group PASID lookup table, it does so before iommu_sva_bind_device() completes its return sequence. This creates a critical window where the handle becomes visible to other concurrent threads or processes while still being partially initialized. Specifically, the dev pointer within the handle structure is set only after the iommu_sva_lock has been dropped. Consequently, if another thread attempts to bind a device concurrently during this interval, it may retrieve and reuse the same handle object before its internal state is fully populated.

This race condition leads directly to a NULL pointer dereference vulnerability. Because the racing bind operation can return a handle whose dev field remains uninitialized or null due to the timing of the lock release, any subsequent operations that rely on this handle will encounter undefined behavior. The most immediate and dangerous consequence occurs during iommu_sva_unbind_device(), which attempts to access handle->dev->iommu_group. Since handle->dev is NULL at this point, the kernel attempts to dereference a null pointer, resulting in an immediate crash or system panic. This represents a classic denial of service scenario where local users with sufficient privileges can trigger the race condition by initiating concurrent SVA bind operations, thereby destabilizing the entire operating system and causing significant downtime for critical workloads relying on IOMMU functionality.

From a technical classification perspective, this flaw aligns closely with CWE-362, which describes Concurrent Execution using Shared Resource with Improper Synchronization. The root cause is not merely a logic error but a failure to maintain atomicity of the handle initialization and visibility steps under concurrent access control mechanisms. Furthermore, in the context of MITRE ATT&CK, this vulnerability can be leveraged for Local Privilege Escalation or Denial of Service by an authenticated attacker who can invoke IOMMU SVA binding APIs. The exploitation vector typically requires local access to trigger the race condition, making it a threat primarily from insider actors or compromised user-space applications that have permissions to interact with device drivers and virtualization interfaces.

To mitigate this vulnerability, the primary remediation is the patch already implemented in the affected kernel versions, which reorders the initialization sequence. By setting handle->dev before releasing iommu_sva_lock, the system ensures that any SVA handle visible to concurrent threads is fully initialized and safe for use. This eliminates the window of opportunity where a partially constructed object can be accessed by multiple execution contexts simultaneously. System administrators should ensure their kernels are updated to include this fix, particularly in environments running virtualized workloads or applications utilizing advanced IOMMU features such as shared virtual addressing. Regular patching cycles and monitoring for kernel panics related to iommu subsystems are recommended practices to maintain system integrity against such synchronization flaws.

Responsible

Linux

Reservation

09/11/2026

Disclosure

09/12/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!