Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-53141

CVE-2026-53141: Linux Kernel Privilege Escalation Flaw

CVE-2026-53141 is a privilege escalation vulnerability in the Linux kernel's DRM V3D driver affecting global performance monitor reference counting. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-53141 Overview

CVE-2026-53141 is a reference counting flaw in the Linux kernel's Broadcom VideoCore V3D Direct Rendering Manager (drm/v3d) driver. The defect resides in the global performance monitor (perfmon) management logic. The v3d_perfmon_find() function increments a reference count on the returned perfmon, but v3d_perfmon_set_global_ioctl() and v3d_perfmon_delete() fail to release that reference along multiple code paths. Repeatedly invoking the affected ioctls leaks kernel object references and the associated memory.

Critical Impact

Local users with access to the V3D DRM device can leak kernel perfmon references through SET_GLOBAL and CLEAR_GLOBAL ioctls, leading to memory exhaustion and potential denial of service on affected systems.

Affected Products

  • Linux kernel versions containing the drm/v3d global performance monitor ioctl implementation
  • Systems using Broadcom VideoCore V3D GPU hardware (Raspberry Pi and similar platforms)
  • Distributions shipping unpatched Linux kernels prior to the referenced stable commits

Discovery Timeline

  • 2026-06-25 - CVE-2026-53141 published to NVD
  • 2026-06-25 - Last updated in NVD database

Technical Details for CVE-2026-53141

Vulnerability Analysis

The vulnerability is a memory leak rooted in incorrect reference counting [CWE-401] within the drm/v3d kernel driver. The v3d_perfmon_find() helper returns a perfmon object with its reference count incremented. Callers are responsible for releasing the reference once they are finished with the object.

The SET_GLOBAL ioctl handler v3d_perfmon_set_global_ioctl() and the destroy handler v3d_perfmon_delete() violate this contract on multiple paths. Each invocation that hits an unbalanced path leaves a stale reference on the perfmon, preventing its release.

Root Cause

Three distinct leak paths exist in the affected code. First, v3d_perfmon_set_global_ioctl() leaks the lookup reference on its error paths. Second, the CLEAR_GLOBAL operation leaks both the freshly acquired v3d_perfmon_find() reference and the reference previously stashed in v3d->global_perfmon by an earlier SET_GLOBAL ioctl. Third, destroying a perfmon that is currently configured as the global perfmon leaks the reference held by v3d->global_perfmon.

Attack Vector

Exploitation requires local access to the V3D DRM device node, typically /dev/dri/cardN. An attacker with permission to issue ioctls on this device can repeatedly invoke the affected SET_GLOBAL, CLEAR_GLOBAL, and perfmon destroy operations. Each iteration leaks kernel object references, gradually exhausting kernel memory and degrading system availability.

The fix is documented in the stable kernel commits 3e19475, 6bf7e2a, and ed2eaf3, which explicitly release each leaked reference.

Detection Methods for CVE-2026-53141

Indicators of Compromise

  • Steady growth in kernel slab allocations attributable to v3d perfmon objects without corresponding releases
  • Unprivileged or low-privilege processes issuing repeated DRM_IOCTL_V3D_PERFMON_SET_GLOBAL and DRM_IOCTL_V3D_PERFMON_DESTROY calls
  • Gradual decline in available kernel memory on systems exposing /dev/dri/cardN to non-root users

Detection Strategies

  • Audit kernel version strings across the fleet and flag hosts running V3D-capable kernels lacking the referenced stable commits
  • Monitor slabinfo for unbounded growth in DRM-related allocations on Broadcom VideoCore platforms
  • Instrument or trace ioctl activity on /dev/dri/card* nodes using eBPF or auditd rules targeting DRM perfmon opcodes

Monitoring Recommendations

  • Track per-process ioctl rates against DRM devices and alert on sustained anomalous bursts
  • Baseline kernel memory usage on V3D platforms and trigger on unusual upward drift
  • Forward kernel memory pressure events and OOM notifications to a centralized telemetry pipeline for correlation

How to Mitigate CVE-2026-53141

Immediate Actions Required

  • Inventory all systems running Broadcom VideoCore V3D hardware, including Raspberry Pi devices, and identify kernel versions in use
  • Apply the upstream stable patches referenced in commits 3e1947573140, 6bf7e2affc6e, and ed2eaf3b7b18 or upgrade to a distribution kernel that includes them
  • Restrict access to /dev/dri/card* device nodes to trusted users where the V3D driver is loaded but not required for general user workloads

Patch Information

The Linux kernel maintainers resolved the issue by explicitly releasing the leaked perfmon references in v3d_perfmon_set_global_ioctl() error paths, in the CLEAR_GLOBAL operation, and in v3d_perfmon_delete() when the destroyed perfmon is the active global perfmon. The fixes are available in the stable kernel commits 3e19475, 6bf7e2a, and ed2eaf3.

Workarounds

  • Unload or blacklist the v3d kernel module on systems that do not require GPU acceleration
  • Tighten permissions on /dev/dri/card* nodes through udev rules and group membership controls
  • Apply cgroup memory limits to processes interacting with the V3D DRM device to bound the impact of leak-driven exhaustion

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.