CVE-2025-21688
📋 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
- Linux kernel v3d DRM driver
📦 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.
🎯 Exploit Status
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
linuxPrevent loading of vulnerable v3d driver module
echo 'blacklist v3d' >> /etc/modprobe.d/blacklist-v3d.conf
update-initramfs -u
reboot
Restrict GPU access
linuxLimit 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
- https://git.kernel.org/stable/c/01a7e3a43ee2e6607169a75889412344c10b37fd
- https://git.kernel.org/stable/c/1f66a3a1a516e4d545906916b3f3c8d1c5e909e6
- https://git.kernel.org/stable/c/3059e7aaa280daea57bb069fbc65225e1bb95014
- https://git.kernel.org/stable/c/431fb709db434565b5e7cee82a11bd681a794fd3
- https://git.kernel.org/stable/c/6cfafcad46e95351c477da0ae7e3acb8f7550ada
- https://git.kernel.org/stable/c/6e64d6b3a3c39655de56682ec83e894978d23412
- https://git.kernel.org/stable/c/9793206fbf5293534c3a79d78f196e2cbb48c22d
- https://git.kernel.org/stable/c/a9401cd5d1bb5a0b8d2bef09623ca43551cd6e8a
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html