CVE-2025-39807: drm/mediatek: Add error handling for old state CRTC in atomic_disable
In the Linux kernel, the following vulnerability has been resolved:
drm/mediatek: Add error handling for old state CRTC in atomic_disable
Introduce error handling to address an issue where, after a hotplug
event, the cursor continues to update. This situation can lead to a
kernel panic due to accessing the NULL `old_state->crtc`.
E,g.
Unable to handle kernel NULL pointer dereference at virtual address
Call trace:
mtk_crtc_plane_disable+0x24/0x140
mtk_plane_atomic_update+0x8c/0xa8
drm_atomic_helper_commit_planes+0x114/0x2c8
drm_atomic_helper_commit_tail_rpm+0x4c/0x158
commit_tail+0xa0/0x168
drm_atomic_helper_commit+0x110/0x120
drm_atomic_commit+0x8c/0xe0
drm_atomic_helper_update_plane+0xd4/0x128
__setplane_atomic+0xcc/0x110
drm_mode_cursor_common+0x250/0x440
drm_mode_cursor_ioctl+0x44/0x70
drm_ioctl+0x264/0x5d8
__arm64_sys_ioctl+0xd8/0x510
invoke_syscall+0x6c/0xe0
do_el0_svc+0x68/0xe8
el0_svc+0x34/0x60
el0t_64_sync_handler+0x1c/0xf8
el0t_64_sync+0x180/0x188
Adding NULL pointer checks to ensure stability by preventing operations
on an invalid CRTC state.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel availability bug in the MediaTek DRM display driver. After a display hotplug event, cursor updates can continue and hit a NULL CRTC state, causing a kernel panic. The business impact is local denial of service on affected MediaTek-based Linux systems, not data theft or remote compromise based on the supplied sources.
Executive priority
Treat as a moderate operational stability issue. Prioritize patching for MediaTek-based endpoints, kiosks, appliances, or embedded systems where a local crash causes service disruption. It is not presented as remote code execution or data exposure in the supplied evidence.
Technical view
CVE-2025-39807 is a CWE-476 NULL pointer dereference in drm/mediatek atomic_disable handling. The failing path involves cursor plane updates after hotplug, where old_state->crtc may be NULL. CVSS 3.1 is 5.5: local attack vector, low complexity, low privileges, no user interaction, availability high, confidentiality and integrity none.
Likely exposure
Exposure appears limited to Linux systems using the MediaTek DRM display stack and affected kernel versions or downstream kernels missing the referenced stable fixes. Headless servers and non-MediaTek display stacks are less likely to be exposed, but vendor kernel backports must be checked.
Exploitation context
The source bundle does not show active exploitation, and KEV is false. The CVSS vector requires local access with low privileges. The plausible impact is a local crash or device disruption, especially around display hotplug and cursor update behavior.
Researcher notes
Version metadata in the bundle is incomplete and should be validated against the CVE record and kernel stable commits. The affected area is drm/mediatek cursor and plane update handling after hotplug. Avoid broad Linux-wide risk claims without confirming MediaTek DRM use and patch presence.
Mitigation direction
Apply vendor kernel updates that include the referenced Linux stable fixes.
Prioritize MediaTek-based devices with interactive display or hotplug use cases.
Check downstream kernel vendor advisories before assuming upstream version status.
If updates are unavailable, reduce exposure of affected interactive display workloads where practical.
Validation and detection
Inventory Linux devices using MediaTek DRM/display hardware or kernels.
Compare running kernel versions and vendor patch levels against CVE metadata.
Confirm whether referenced stable commits are present in downstream kernel trees.
Review crash logs for NULL pointer panics in mtk_crtc_plane_disable or related DRM paths.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.