CVE-2024-26653

7.8 HIGH

📋 TL;DR

This CVE describes a double-free vulnerability in the Linux kernel's ljca USB driver. When auxiliary_device_add() fails, the driver's error handling path incorrectly frees platform data that was already freed by the release callback, potentially leading to memory corruption. This affects Linux systems using the ljca USB driver.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions containing the vulnerable ljca driver code before the fix commits
Operating Systems: Linux distributions with the affected kernel version
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with the ljca USB driver loaded/module present. Not all Linux distributions include this driver 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic, system crash, or potential privilege escalation leading to full system compromise.

🟠

Likely Case

System instability, kernel crashes, or denial of service on affected systems.

🟢

If Mitigated

Minimal impact if proper memory protections are enabled and the vulnerability is not triggered.

🌐 Internet-Facing: LOW - Requires local access to trigger the USB driver error condition.
🏢 Internal Only: MEDIUM - Local users or processes could potentially trigger the vulnerability to cause system instability.

🎯 Exploit Status

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

Exploitation requires triggering the specific error path in the ljca driver, which may require specific USB device interactions or driver loading conditions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commits 420babea4f1881a7c4ea22a8e218b8c6895d3f21 or 7c9631969287a5366bc8e39cd5abff154b35fb80

Vendor Advisory: https://git.kernel.org/stable/c/420babea4f1881a7c4ea22a8e218b8c6895d3f21

Restart Required: Yes

Instructions:

1. Update to a patched kernel version from your distribution vendor. 2. Reboot the system to load the new kernel. 3. Verify the fix is applied by checking kernel version or examining the driver source.

🔧 Temporary Workarounds

Disable ljca driver module

linux

Prevent loading of the vulnerable ljca USB driver module

echo 'blacklist ljca' >> /etc/modprobe.d/blacklist-ljca.conf
rmmod ljca

🧯 If You Can't Patch

  • Restrict USB device access to prevent triggering the vulnerable driver code path
  • Implement strict access controls to limit who can load kernel modules or interact with USB devices

🔍 How to Verify

Check if Vulnerable:

Check if ljca module is loaded: lsmod | grep ljca. Check kernel version against affected ranges.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits or is newer than vulnerable versions. Check that ljca module functions without crashes.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Oops messages related to ljca driver
  • USB error messages in dmesg

Network Indicators:

  • None - this is a local driver vulnerability

SIEM Query:

source="kernel" AND ("ljca" OR "double free" OR "kernel panic")

🔗 References

📤 Share & Export