CVE-2025-21688

4.7 MEDIUM

📋 TL;DR

A race condition in the Linux kernel's v3d DRM driver can cause a NULL pointer dereference when GPU jobs complete. This vulnerability affects systems using the v3d driver on Linux kernels with the flawed commit, potentially causing kernel crashes. Users of affected Linux distributions with v3d GPU hardware are impacted.

💻 Affected Systems

Products:
  • Linux kernel v3d DRM driver
Versions: Linux kernels containing commit e4b5ccd392b9 up to fixes in stable commits listed
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with v3d GPU hardware (e.g., Raspberry Pi 5, Broadcom VideoCore). Requires v3d driver loaded and GPU usage.

📦 What is this software?

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially causing data loss or system instability.

🟠

Likely Case

System crash or instability when GPU-intensive applications trigger the race condition, requiring reboot.

🟢

If Mitigated

Minor performance impact from proper synchronization with no security bypass.

🌐 Internet-Facing: LOW - Requires local access or ability to run GPU operations on the system.
🏢 Internal Only: MEDIUM - Local users or processes with GPU access can trigger crashes, affecting system availability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires ability to trigger GPU operations and race condition timing. Crash logs indicate it can be triggered by applications like Chromium.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel stable commits: 01a7e3a43ee2e6607169a75889412344c10b37fd, 1f66a3a1a516e4d545906916b3f3c8d1c5e909e6, 3059e7aaa280daea57bb069fbc65225e1bb95014, 431fb709db434565b5e7cee82a11bd681a794fd3, 6cfafcad46e95351c477da0ae7e3acb8f7550ada

Vendor Advisory: https://git.kernel.org/stable/c/01a7e3a43ee2e6607169a75889412344c10b37fd

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing fixes. 2. For distributions: Apply kernel updates from vendor. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable v3d driver

linux

Prevent loading of vulnerable v3d driver module

echo 'blacklist v3d' >> /etc/modprobe.d/blacklist-v3d.conf
update-initramfs -u
reboot

Restrict GPU access

linux

Limit which users can access GPU devices

chmod 600 /dev/dri/renderD128
setfacl -m u:root:rw /dev/dri/renderD128

🧯 If You Can't Patch

  • Restrict user access to GPU operations and 3D applications
  • Monitor system logs for v3d_irq crashes and investigate triggering applications

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if v3d module is loaded: 'uname -r' and 'lsmod | grep v3d'

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is after fixes and test GPU operations without crashes

📡 Detection & Monitoring

Log Indicators:

  • Kernel logs showing 'v3d_irq+0x118/0x2e0 [v3d]' crashes
  • NULL pointer dereference errors in dmesg
  • GPU interrupt handler failures

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND "v3d_irq" AND ("NULL pointer" OR "dereference")

🔗 References

📤 Share & Export