CVE-2024-39462

9.8 CRITICAL

📋 TL;DR

This is a Linux kernel memory corruption vulnerability in the BCM2711 DVP clock driver where array bounds checking fails due to uninitialized counter variable. It allows attackers to potentially execute arbitrary code with kernel privileges. Systems running affected Linux kernel versions with the BCM2711 DVP clock driver loaded are vulnerable.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific versions with vulnerable clk-bcm2711-dvp.c driver; check kernel commit history for exact range.
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when BCM2711 DVP clock driver is compiled and loaded (typically on Raspberry Pi 4/400/CM4 systems with VideoCore display).

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise via kernel privilege escalation leading to root access, data theft, persistence installation, or complete system takeover.

🟠

Likely Case

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

🟢

If Mitigated

No impact if kernel is patched or vulnerable driver not loaded; UBSAN warnings logged if bounds checking enabled.

🌐 Internet-Facing: LOW - Requires local access or ability to load kernel modules; not directly exploitable over network.
🏢 Internal Only: MEDIUM - Local attackers with user access could exploit to escalate privileges; container escape possible in containerized environments.

🎯 Exploit Status

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

Requires local access to trigger; exploitation depends on memory layout and UBSAN configuration.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel commits: 0dc913217fb79096597005bba9ba738e2db5cd02, 9368cdf90f52a68120d039887ccff74ff33b4444, a1dd92fca0d6b58b55ed0484f75d4205dbb77010

Vendor Advisory: https://git.kernel.org/stable/c/0dc913217fb79096597005bba9ba738e2db5cd02

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version. 2. Rebuild kernel if compiling from source. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable vulnerable driver

linux

Prevent loading of clk-bcm2711-dvp driver if not needed

echo 'blacklist clk-bcm2711-dvp' >> /etc/modprobe.d/blacklist.conf
rmmod clk_bcm2711_dvp

Enable UBSAN protection

linux

Enable UndefinedBehaviorSanitizer to detect and prevent exploitation

Add 'CONFIG_UBSAN=y' to kernel configuration and rebuild

🧯 If You Can't Patch

  • Restrict local user access to prevent privilege escalation attempts
  • Implement strict kernel module signing to prevent unauthorized driver loading

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if clk-bcm2711-dvp driver is loaded: lsmod | grep clk_bcm2711_dvp

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits and driver loads without UBSAN warnings in dmesg

📡 Detection & Monitoring

Log Indicators:

  • UBSAN array-index-out-of-bounds warnings in kernel logs
  • Kernel panic messages related to clk-bcm2711-dvp

Network Indicators:

  • None - local exploitation only

SIEM Query:

source="kernel" AND "UBSAN" AND "array-index-out-of-bounds" AND "clk-bcm2711-dvp"

🔗 References

📤 Share & Export