CVE-2024-35833

5.5 MEDIUM

📋 TL;DR

A memory leak vulnerability in the Linux kernel's fsl-qdma DMA engine driver allows attackers to cause resource exhaustion by repeatedly triggering the vulnerable code path. This affects systems using Freescale/NXP QDMA hardware with unpatched Linux kernels. The vulnerability could lead to denial of service or system instability over time.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific kernel versions containing the vulnerable fsl-qdma driver code (exact range depends on distribution backports)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with Freescale/NXP QDMA hardware support enabled in kernel configuration (CONFIG_FSL_QDMA). Most general-purpose distributions don't enable this by default.

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

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

Sustained exploitation could exhaust system memory, causing kernel panic, system crashes, or denial of service to all applications.

🟠

Likely Case

Gradual memory consumption leading to system slowdowns, application failures, or eventual system instability requiring reboot.

🟢

If Mitigated

Limited impact with proper memory monitoring and restart policies; memory exhaustion would be contained to the affected system.

🌐 Internet-Facing: LOW - Requires local access or ability to trigger specific DMA operations; not directly exploitable over network.
🏢 Internal Only: MEDIUM - Malicious local users or compromised applications could trigger the memory leak to degrade system performance.

🎯 Exploit Status

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

Exploitation requires ability to trigger DMA operations through the vulnerable driver, typically requiring local access or compromised application with appropriate permissions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel commits: 15eb996d7d13cb72a16389231945ada8f0fef2c3, 198270de9d8eb3b5d5f030825ea303ef95285d24, 1c75fe450b5200c78f4a102a0eb8e15d8f1ccda8, 25ab4d72eb7cbfa0f3d97a139a9b2bfcaa72dd59, 3aa58cb51318e329d203857f7a191678e60bb714

Vendor Advisory: https://git.kernel.org/stable/c/15eb996d7d13cb72a16389231945ada8f0fef2c3

Restart Required: Yes

Instructions:

1. Update to a kernel version containing the fix commits. 2. Check your distribution's security advisories for backported patches. 3. Rebuild kernel if compiling from source. 4. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable fsl-qdma module

linux

Prevent loading of the vulnerable driver if QDMA hardware is not required

echo 'blacklist fsl_qdma' >> /etc/modprobe.d/blacklist.conf
rmmod fsl_qdma

🧯 If You Can't Patch

  • Monitor system memory usage and implement alerts for abnormal consumption patterns
  • Restrict access to DMA operations through appropriate user/group permissions and SELinux/AppArmor policies

🔍 How to Verify

Check if Vulnerable:

Check if fsl_qdma module is loaded: lsmod | grep fsl_qdma. Check kernel version against patched versions.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits. Check dmesg for successful driver initialization without memory allocation errors.

📡 Detection & Monitoring

Log Indicators:

  • Kernel oom-killer messages
  • Memory allocation failures in dmesg
  • Rising memory usage without corresponding process growth

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("oom-killer" OR "Out of memory" OR "allocation failure") AND process="fsl_qdma"

🔗 References

📤 Share & Export