CVE-2026-53384 in Linuxinfo

Summary

by MITRE • 07/19/2026

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

serial: 8250_dw: unregister 8250 port if clk_notifier_register() fails

dw8250_probe() registers the 8250 port via serial8250_register_8250_port() and then, if the device has a clock, registers a clock notifier. If clk_notifier_register() fails, probe returns the error but leaves the 8250 port registered. The matching serial8250_unregister_port() lives in dw8250_remove(), which is not called when probe fails, so the port slot stays occupied until the device is rebound or the system is rebooted. The devm-allocated driver data is freed while the port still references it (via the saved private_data and serial_in/serial_out callbacks), so any access to that port slot before a rebind is a use-after-free hazard.

Unregister the port on the clk_notifier_register() error path.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 07/19/2026

This vulnerability exists within the linux kernel's serial driver implementation, specifically in the dw8250_probe function that handles device initialization for 8250-compatible serial ports. The issue stems from improper error handling during the device probe sequence where the driver registers a serial port and subsequently attempts to register a clock notifier for devices that support clock management. When clk_notifier_register() fails, the function returns an error code but fails to properly clean up the previously registered 8250 port, leaving it in an inconsistent state.

The technical flaw represents a classic resource management issue where the driver's probe routine does not maintain proper cleanup semantics across all execution paths. The serial8250_register_8250_port() call successfully registers the port with the serial subsystem, but when clk_notifier_register() subsequently fails, the error path does not execute the corresponding serial8250_unregister_port() function that would normally occur in dw8250_remove(). This creates a dangling reference scenario where the port slot remains allocated and registered even though the device initialization has failed. The problem is further exacerbated by the fact that device managed memory allocation (devm-allocated driver data) gets freed while the port still maintains references to it through private_data pointers and callback functions, creating a use-after-free condition.

The operational impact of this vulnerability extends beyond simple resource leakage into potential system instability and security risks. Any access to the affected serial port slot before manual rebind or system reboot triggers undefined behavior due to accessing freed memory locations, potentially causing kernel oopses, data corruption, or even privilege escalation opportunities. This represents a significant concern for embedded systems and server environments where serial communication is critical for diagnostics and system management. The vulnerability affects any system running the linux kernel with dw8250 serial drivers that have clock support capabilities, making it particularly relevant for ARM-based systems that commonly utilize this driver architecture.

The fix implements proper error handling by ensuring that when clk_notifier_register() fails during probe, the previously registered 8250 port is unregistered before returning the error. This maintains the principle of resource cleanup on error paths and prevents the use-after-free condition. From a cybersecurity perspective, this vulnerability aligns with CWE-459 which describes "Incomplete Cleanup" and could potentially be leveraged by attackers to cause denial of service or escalate privileges through kernel memory corruption. The remediation follows ATT&CK technique T1068 by addressing privilege escalation vectors through proper resource management and memory safety practices in kernel space operations, ensuring that device driver initialization failures do not leave the system in an inconsistent state that could be exploited.

Responsible

Linux

Reservation

06/09/2026

Disclosure

07/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

medium

Sources

Do you know our Splunk app?

Download it now for free!