Cloudanix VulnDB

CVE-2025-39807

None

CVSS

—

EPSS

0.2%

Published

Sep 16, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in Linux display handling can crash the whole system when monitors are plugged or unplugged, requiring an update to prevent unexpected shutdowns.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Patch
Effort
Low
Patch risk
Low

What it actually does

NULL pointer dereference in mtk_crtc_plane_disable when old_state->crtc is NULL after hotplug events during cursor updates in the Mediatek DRM atomic commit path.

Why it matters to the business

Kernel panics on affected Linux systems using Mediatek display hardware can cause sudden reboots, service outages, and loss of container workloads; widespread kernel prevalence increases exposure across servers and embedded devices.

How an attack unfolds

An attacker with local access triggers display hotplug or cursor ioctl operations that reach drm_atomic_helper_update_plane without a valid CRTC state, dereferencing NULL and crashing the kernel; named actors such as VMSCAPE have targeted similar Linux kernel privilege-escalation paths in container-optimized environments.

How to fix it

Upgrade Linux kernel to 6.12.45 or apply commit 7d5cc22efa44e0fe321ce195c71c3d7da211fbb2; Debian evolution packages to 1.3.2 where applicable; reboot after update and verify no cursor-related panics occur post-hotplug.

How to confirm the fix worked

Confirm running kernel version is at or above 6.12.45, inspect dmesg for absence of mtk_crtc_plane_disable NULL dereference traces, and test hotplug plus cursor operations to ensure stability.

Typical attack path

  1. Obtain local user or container access on affected Linux kernel
  2. Trigger hotplug event or issue drm_mode_cursor_ioctl
  3. Force atomic plane update path that passes stale NULL old_state->crtc
  4. Execute mtk_crtc_plane_disable on invalid pointer
  5. Cause NULL dereference and kernel panic

How to detect it

Search kernel logs and dmesg for NULL pointer dereference messages referencing mtk_crtc_plane_disable, mtk_plane_atomic_update, or drm_atomic_helper_commit_planes after hotplug events; correlate with container privilege-escalation attempts noted by VMSCAPE.

  • Unable to handle kernel NULL pointer dereference at virtual address
  • mtk_crtc_plane_disable+0x24/0x140
  • mtk_plane_atomic_update+0x8c/0xa8
  • drm_mode_cursor_ioctl+0x44/0x70

What your security team should do

  • Prioritize kernel upgrade to 6.12.45 or patched commit within maintenance windows given 406 days since publication
  • Monitor EPSS trend and container environments for similar privilege-escalation attempts
  • Add kernel panic logging and alerting for drm atomic commit failures
  • Restrict unprivileged access to DRM ioctls where feasible

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
Debian:13 linux 0 No fix
Debian:14 linux 0 6.16.5-1
Linux Kernel 0 6.12.45
SUSE:Linux Enterprise Live Patching 15 SP7 kernel-livepatch-SLE15-SP7-RT_Update_5 0 1-150700.1.3.1
SUSE:Real Time Module 15 SP7 kernel-rt 0 6.4.0-150700.7.19.1
SUSE:Real Time Module 15 SP7 kernel-source-rt 0 6.4.0-150700.7.19.1
SUSE:Real Time Module 15 SP7 kernel-syms-rt 0 6.4.0-150700.7.19.1
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.6.1.160000.2.4
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.6.1

Related vulnerabilities