CVE-2026-89823 in Linuxinfo

Summary

by MITRE • 09/16/2026

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

drm: fix race between partial drm_dev_register() failure and ioctl

If drm_dev_register() fails after registering a minor (e.g. render minor registered, primary minor fails), userspace could have opened the first minor and entered a drm_dev_enter() critical section. Since the unplugged flag was never set, the ioctl proceeds while the error path tears down device resources.

Fix this by introducing drm_dev_synchronize_unplug(), which sets the unplugged flag and waits for the SRCU barrier, ensuring all in-flight drm_dev_enter() critical sections complete before cleanup proceeds; call it on the error path of drm_dev_register().

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 09/16/2026

The Linux kernel's Direct Rendering Manager subsystem contains a race condition vulnerability within the device registration process that can lead to use-after-free scenarios and potential privilege escalation. This flaw occurs specifically during partial failures in the drm_dev_register function, where one minor device node is successfully registered while subsequent ones fail. In such a scenario, userspace applications may have already opened the successfully registered minor device and entered a critical section protected by drm_dev_enter. The core issue arises because the unplugged flag, which signals that the device should no longer accept new operations or access existing resources, remains unset during this error path. Consequently, incoming ioctl calls from these active sessions proceed normally while the kernel is simultaneously tearing down the underlying device resources due to the registration failure.

This race condition creates a window where user-space threads can interact with memory structures that are being freed by the kernel's cleanup routines. The lack of synchronization between the ongoing userspace operations and the asynchronous resource teardown allows for invalid memory accesses, which typically manifest as kernel panics or crashes in stable environments but may be exploitable to execute arbitrary code in less constrained contexts. The vulnerability highlights a gap in the lifecycle management of DRM devices where the transition from active use to destruction is not properly serialized against concurrent access attempts initiated before the failure was detected.

From a classification perspective, this issue aligns with CWE-362, which describes Concurrent Execution using Shared Resource with Improper Synchronization, commonly known as a race condition. The specific mechanism involves shared kernel data structures being accessed without adequate locking or barrier mechanisms during state transitions. In terms of the MITRE ATT&CK framework for Linux systems, this vulnerability relates to techniques involving exploitation of resource management flaws that can lead to denial of service through system instability or potentially privilege escalation if the memory corruption is leveraged effectively. The attack vector typically requires local access to open device nodes and trigger ioctl calls during a narrow timing window associated with driver initialization failures.

The resolution involves introducing a new synchronization primitive called drm_dev_synchronize_unplug, which addresses the root cause by enforcing strict ordering between resource teardown and active user-space interactions. This function sets the unplugged flag immediately upon detecting an error in device registration and then waits for all SRCU read-side critical sections to complete via a barrier mechanism. By ensuring that no new accesses can begin and existing ones have finished before proceeding with cleanup, the kernel eliminates the race window entirely. Developers should apply this patch to affected kernels and ensure that driver implementations properly handle partial initialization failures by invoking synchronization primitives before releasing any allocated resources. System administrators monitoring for instability during device hotplug or driver load events may find these updates critical for maintaining system integrity in environments where DRM devices are frequently initialized or reconfigured.

Responsible

Linux

Reservation

09/11/2026

Disclosure

09/16/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!