CVE-2024-35955

8.8 HIGH

📋 TL;DR

A use-after-free vulnerability in the Linux kernel's kprobes subsystem allows attackers to potentially execute arbitrary code with kernel privileges. This occurs when unloading kernel modules creates a race condition during kprobe registration. All Linux systems using kprobes are affected.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Multiple stable kernel versions prior to fixes in 2df2dd27066c, 325f3fb551f8, 36b57c7d2f8b, 5062d1f4f07f, 62029bc9ff2c
Operating Systems: All Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires kprobes functionality and ability to load/unload kernel modules. Systems with module loading disabled or kprobes not in use are less vulnerable.

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

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

Full kernel compromise leading to complete system takeover, data exfiltration, or persistent backdoor installation.

🟠

Likely Case

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

🟢

If Mitigated

Limited impact if kprobes are disabled or module unloading is restricted.

🌐 Internet-Facing: MEDIUM - Requires local access or ability to load/unload kernel modules, but could be chained with other vulnerabilities.
🏢 Internal Only: HIGH - Local attackers or malicious insiders could exploit this to escalate privileges.

🎯 Exploit Status

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

Exploitation requires local access and ability to trigger the race condition during module unloading. Timing is critical for successful exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commits 2df2dd27066c, 325f3fb551f8, 36b57c7d2f8b, 5062d1f4f07f, or 62029bc9ff2c

Vendor Advisory: https://git.kernel.org/stable/c/2df2dd27066cdba8041e46a64362325626bdfb2e

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution's repositories. 2. Reboot system to load new kernel. 3. Verify kernel version matches patched release.

🔧 Temporary Workarounds

Disable kprobes

linux

Prevent use of kprobes subsystem to eliminate attack surface

echo 0 > /sys/kernel/debug/kprobes/enabled

Restrict module loading

linux

Prevent loading/unloading of kernel modules

echo 1 > /proc/sys/kernel/modules_disabled

🧯 If You Can't Patch

  • Implement strict access controls to prevent unauthorized users from loading/unloading kernel modules
  • Monitor system logs for kprobes-related activities and module loading/unloading events

🔍 How to Verify

Check if Vulnerable:

Check kernel version against affected ranges and verify if kprobes are enabled: cat /sys/kernel/debug/kprobes/enabled

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes one of the fix commits: uname -r and check with distribution's security advisories

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • Module loading/unloading events in system logs
  • Kprobes registration failures

Network Indicators:

  • None - local exploitation only

SIEM Query:

source="kernel" AND ("kprobe" OR "module" AND ("unload" OR "going" OR "unformed"))

🔗 References

📤 Share & Export