CVE-2026-53058 Overview
CVE-2026-53058 is a NULL pointer dereference vulnerability in the Linux kernel's Cadence MHDP8546 DisplayPort bridge driver (drm/bridge: cadence: cdns-mhdp8546-core). The flaw occurs in the atomic_enable() code path when cdns_mhdp_link_up() or cdns_mhdp_reg_read() returns an error. The error handler invokes cdns_mhdp_modeset_retry_fn(), which attempts to access a mutex on a connector that has not yet been assigned. When the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag is set, the bridge attach path does not initialize the connector, leading to a kernel NULL pointer dereference during the recovery path.
Critical Impact
A NULL pointer dereference in the DRM bridge driver can trigger a kernel oops or system crash, resulting in local denial of service on systems using the Cadence MHDP8546 DisplayPort hardware.
Affected Products
- Linux kernel versions containing the cdns-mhdp8546-core DRM bridge driver prior to the fix commits
- Systems integrating Cadence MHDP8546 DisplayPort bridge hardware
- Embedded and SoC platforms relying on the affected DRM bridge driver with DRM_BRIDGE_ATTACH_NO_CONNECTOR
Discovery Timeline
- 2026-06-24 - CVE-2026-53058 published to NVD
- 2026-06-24 - Last updated in NVD database
Technical Details for CVE-2026-53058
Vulnerability Analysis
The vulnerability resides in the Cadence MHDP8546 DRM bridge driver's atomic_enable() function. During display enablement, the driver calls cdns_mhdp_link_up() and cdns_mhdp_reg_read() to bring the DisplayPort link up and read hardware registers. If either function returns an error, the driver dispatches cdns_mhdp_modeset_retry_fn() as part of its recovery path.
The retry function dereferences the mhdp->connector pointer and attempts to acquire a mutex associated with it. When the bridge is attached with the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag, no connector is created during bridge_attach(), leaving the pointer uninitialized at the time the error occurs. The result is a NULL pointer dereference [CWE-476] inside kernel context, producing a kernel oops.
The fix introduces an mhdp->connector_ptr field in the device structure and assigns it earlier in atomic_enable(), before any call that may fail. This ensures both the DRM_BRIDGE_ATTACH_NO_CONNECTOR and !DRM_BRIDGE_ATTACH_NO_CONNECTOR code paths have a valid connector reference available to the retry handler.
Root Cause
The root cause is an ordering defect. The connector pointer used by the modeset retry recovery path was assigned after operations that could fail and trigger the retry path. Under the DRM_BRIDGE_ATTACH_NO_CONNECTOR configuration, no prior initialization in bridge_attach() covered for this gap, leaving the pointer NULL during error handling.
Attack Vector
Exploitation requires the affected hardware to be present and active. A local trigger — such as a display modeset operation, hotplug event, or hardware fault that causes cdns_mhdp_link_up() or cdns_mhdp_reg_read() to fail — can reach the vulnerable code path. The outcome is a kernel NULL pointer dereference resulting in a crash or denial of service. There is no public proof-of-concept and no evidence of in-the-wild exploitation.
No verified exploit code is available. The technical mechanism is documented in the upstream kernel commits listed under technical references.
Detection Methods for CVE-2026-53058
Indicators of Compromise
- Kernel oops messages referencing cdns_mhdp_modeset_retry_fn or cdns-mhdp8546 in dmesg and system journals
- Stack traces showing NULL pointer dereference originating from atomic_enable() in the Cadence MHDP bridge driver
- Repeated DisplayPort link-up failures preceding kernel crashes on affected hardware
Detection Strategies
- Inventory systems running kernels that include drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c and check against the patched commit hashes
- Parse kernel crash logs (/var/log/kern.log, journalctl -k) for oops traces involving the MHDP bridge driver
- Compare running kernel build versions against distribution advisories that incorporate commits 1af3b42, 43d6508, 5302015, a361155, or cf2ac2c
Monitoring Recommendations
- Forward kernel logs to a centralized logging or SIEM platform and alert on BUG: kernel NULL pointer dereference events tied to DRM subsystems
- Track DisplayPort hotplug and modeset retry frequency on systems with Cadence MHDP8546 hardware to identify pre-crash patterns
- Monitor uptime and unexpected reboot metrics on embedded platforms that rely on the affected driver
How to Mitigate CVE-2026-53058
Immediate Actions Required
- Apply the upstream Linux kernel patches that move the connector pointer assignment earlier in atomic_enable()
- Update to a stable kernel release that includes commits 1af3b42, 43d6508, 5302015, a361155, or cf2ac2c for your branch
- Coordinate with hardware vendors and Linux distribution maintainers to obtain backported fixes for long-term support kernels
Patch Information
The vulnerability is resolved by upstream Linux kernel commits that introduce mhdp->connector_ptr in the device structure and set it earlier in atomic_enable(), ensuring the recovery path in cdns_mhdp_modeset_retry_fn() always has a valid connector reference. Patch references: Linux Kernel Commit 1af3b42, Linux Kernel Commit 43d6508, Linux Kernel Commit 5302015, Linux Kernel Commit a361155, and Linux Kernel Commit cf2ac2c.
Workarounds
- On systems where the Cadence MHDP8546 bridge is not required, blacklist or unload the cdns-mhdp8546 kernel module to remove the affected code path
- Where possible, avoid configurations that exercise the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag with this driver until the patch is applied
- Limit local access to systems running unpatched kernels with affected DisplayPort hardware to reduce trigger opportunities
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

