CVE-2024-43867

5.5 MEDIUM

📋 TL;DR

This CVE describes a refcount underflow vulnerability in the nouveau DRM driver in the Linux kernel. When the nouveau_bo_ref() function is called on an uninitialized nouveau_bo object, it can cause a reference counter to underflow, potentially leading to memory corruption or system instability. This affects systems using the open-source NVIDIA nouveau graphics driver.

💻 Affected Systems

Products:
  • Linux kernel with nouveau DRM driver
Versions: Kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using the nouveau graphics driver for NVIDIA GPUs. Systems using proprietary NVIDIA drivers or other GPU drivers are not affected.

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

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, system crash, or potential privilege escalation if memory corruption leads to arbitrary code execution in kernel context.

🟠

Likely Case

System instability, crashes, or denial of service affecting graphical applications or the entire system.

🟢

If Mitigated

Limited impact if systems don't use nouveau driver or have proper kernel hardening protections.

🌐 Internet-Facing: LOW - Requires local access or existing compromise to trigger.
🏢 Internal Only: MEDIUM - Local users or compromised applications could trigger the vulnerability.

🎯 Exploit Status

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

Requires local access and ability to trigger the specific code path in nouveau driver. No public exploits known at this time.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commit 1b93f3e89d03cfc576636e195466a0d728ad8de5 or backported fixes

Vendor Advisory: https://git.kernel.org/stable/c/16998763c62bb465ebc409d0373b9cdcef1a61a6

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution. 2. For distributions: sudo apt update && sudo apt upgrade linux-image-* (Debian/Ubuntu) or sudo yum update kernel (RHEL/CentOS). 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable nouveau driver

linux

Temporarily disable the nouveau driver to prevent exploitation

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

Use proprietary NVIDIA driver

linux

Switch to proprietary NVIDIA driver instead of nouveau

sudo apt install nvidia-driver-* (Debian/Ubuntu)
sudo yum install kmod-nvidia (RHEL/CentOS)

🧯 If You Can't Patch

  • Restrict local user access to systems with vulnerable kernels
  • Implement kernel hardening features like KASLR and SMEP/SMAP

🔍 How to Verify

Check if Vulnerable:

Check kernel version and nouveau driver usage: uname -r && lsmod | grep nouveau

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is updated and nouveau driver loads without issues: uname -r && dmesg | grep -i nouveau

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages in /var/log/kern.log or dmesg
  • System crashes or hangs related to graphics
  • nouveau driver error messages

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("nouveau" OR "refcount" OR "underflow")

🔗 References

📤 Share & Export