CVE-2024-44993

7.1 HIGH

📋 TL;DR

This CVE describes an out-of-bounds read vulnerability in the Linux kernel's V3D GPU driver for Raspberry Pi 5. The vulnerability allows reading beyond allocated memory boundaries in the v3d_csd_job_run() function, potentially exposing kernel memory contents. Affected systems are those running vulnerable Linux kernel versions with the V3D driver enabled on Raspberry Pi 5 hardware.

💻 Affected Systems

Products:
  • Linux kernel with V3D driver
Versions: Linux kernel versions before the fix commits (497d370a644d95a9f04271aa92cb96d32e84c770 and d656b82c4b30cf12715e6cd129d3df808fde24a7)
Operating Systems: Linux distributions running on Raspberry Pi 5
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with V3D GPU driver enabled, specifically Raspberry Pi 5 hardware. UBSAN (Undefined Behavior Sanitizer) makes the issue visible as warnings.

📦 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel memory disclosure leading to information leakage that could aid further exploitation, potential kernel panic or system instability.

🟠

Likely Case

Information disclosure of kernel memory contents, system instability or crashes when UBSAN is enabled.

🟢

If Mitigated

Minimal impact as the eighth register isn't currently used, but still represents a memory safety violation.

🌐 Internet-Facing: LOW - Requires local access or ability to trigger GPU operations.
🏢 Internal Only: MEDIUM - Local users or processes with GPU access could trigger the vulnerability.

🎯 Exploit Status

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

Exploitation requires local access and ability to trigger GPU compute shader dispatch operations. The vulnerability is an out-of-bounds read, not write, limiting direct exploitation potential.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with commits 497d370a644d95a9f04271aa92cb96d32e84c770 and d656b82c4b30cf12715e6cd129d3df808fde24a7 applied

Vendor Advisory: https://git.kernel.org/stable/c/497d370a644d95a9f04271aa92cb96d32e84c770

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For Raspberry Pi OS: Use 'sudo apt update && sudo apt upgrade'. 3. For custom kernels: Apply the patches from kernel.org. 4. Reboot the system to load the new kernel.

🔧 Temporary Workarounds

Disable V3D driver

linux

Prevent loading of the vulnerable V3D GPU driver module

echo 'blacklist v3d' | sudo tee /etc/modprobe.d/blacklist-v3d.conf
sudo update-initramfs -u
sudo reboot

Disable UBSAN

linux

Turn off Undefined Behavior Sanitizer to hide the warning (does not fix vulnerability)

Add 'ubsan=0' to kernel boot parameters in /boot/cmdline.txt

🧯 If You Can't Patch

  • Restrict local user access to systems with vulnerable kernels
  • Monitor system logs for UBSAN warnings related to V3D driver

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is after fix commits and check dmesg for absence of UBSAN warnings related to v3d_csd_job_run

📡 Detection & Monitoring

Log Indicators:

  • UBSAN warnings in dmesg/kernel logs mentioning 'v3d_csd_job_run' and 'array-index-out-of-bounds'
  • Kernel panic or instability when GPU operations are performed

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("UBSAN" AND "v3d" AND "out-of-bounds")

🔗 References

📤 Share & Export