CVE-2024-50067
📋 TL;DR
This CVE describes an out-of-bounds memory access vulnerability in the Linux kernel's uprobe subsystem. When fetching user-space arguments for tracing, the kernel fails to properly validate that large strings or arrays fit within a single page-sized buffer, potentially leading to memory corruption. This affects Linux systems using uprobes for dynamic tracing.
💻 Affected Systems
- Linux kernel
📦 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel memory corruption leading to system crash, privilege escalation, or arbitrary code execution in kernel context.
Likely Case
System instability, kernel panic, or denial of service due to memory corruption.
If Mitigated
Limited impact if uprobes are disabled or not in use; systems without CONFIG_KASAN may experience silent corruption.
🎯 Exploit Status
Exploitation requires local access and ability to configure uprobes. The provided reproduction steps demonstrate the vulnerability but not weaponization.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing commits 0dc3ad9ad2188da7f090b3dbe4d2fcd9ae8ae64f or related stable backports
Vendor Advisory: https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
Restart Required: Yes
Instructions:
1. Update kernel to patched version from your distribution. 2. For Debian: apt update && apt upgrade linux-image-*. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable uprobes
linuxPrevent exploitation by disabling the uprobe subsystem
echo 0 > /sys/kernel/debug/tracing/events/uprobes/enable
echo '' > /sys/kernel/debug/tracing/uprobe_events
🧯 If You Can't Patch
- Restrict access to debugfs tracing interface to privileged users only
- Monitor for unauthorized uprobe configuration attempts
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if uprobes are enabled: uname -r and ls /sys/kernel/debug/tracing/uprobe_events
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits or is newer than vulnerable versions
📡 Detection & Monitoring
Log Indicators:
- Kernel panic logs
- KASAN error reports mentioning uprobe or store_trace_args
- Unexpected system crashes
Network Indicators:
- None - local exploitation only
SIEM Query:
Search for kernel logs containing 'KASAN', 'uprobe', or 'store_trace_args' errors
🔗 References
- https://git.kernel.org/stable/c/0dc3ad9ad2188da7f090b3dbe4d2fcd9ae8ae64f
- https://git.kernel.org/stable/c/373b9338c9722a368925d83bc622c596896b328e
- https://git.kernel.org/stable/c/537ad4a431f6dddbf15d40d19f24bb9ee12b55cb
- https://git.kernel.org/stable/c/9e5f93788c9dd4309e75a56860a1ac44a8e117b9
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html