CVE-2025-37938
📋 TL;DR
A vulnerability in the Linux kernel's tracing subsystem allows reading freed memory when trace events use specific format specifiers. This could lead to kernel crashes or information disclosure. All Linux systems using affected kernel versions with tracing enabled are potentially affected.
💻 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 panic leading to system crash, potential information disclosure from freed memory, or kernel memory corruption.
Likely Case
System instability or crashes when specific tracing events are triggered, particularly in debugging or monitoring scenarios.
If Mitigated
Minimal impact if tracing is disabled or the vulnerable format specifiers aren't used in custom trace events.
🎯 Exploit Status
Exploitation requires triggering specific trace events with vulnerable format specifiers. Likely requires local access or ability to load kernel modules.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Patches available in stable kernel trees (commits referenced in CVE). Check your distribution's kernel updates.
Vendor Advisory: https://git.kernel.org/stable/c/03127354027508d076073b020d3070990fd6a958
Restart Required: Yes
Instructions:
1. Update to patched kernel version from your Linux distribution. 2. Reboot system to load new kernel. 3. Verify kernel version after reboot.
🔧 Temporary Workarounds
Disable tracing subsystem
linuxDisable kernel tracing features to prevent vulnerable code paths from being triggered
echo 0 > /sys/kernel/debug/tracing/tracing_on
echo 0 > /sys/kernel/debug/tracing/events/enable
🧯 If You Can't Patch
- Disable all kernel tracing functionality
- Restrict access to tracing interfaces to privileged users only
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if tracing is enabled: cat /proc/version && cat /sys/kernel/debug/tracing/tracing_on
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated to include the fix commits, and test that tracing functionality works without crashes
📡 Detection & Monitoring
Log Indicators:
- Kernel oops messages
- System crashes when tracing is active
- dmesg errors related to tracing subsystem
Network Indicators:
- None - this is a local kernel vulnerability
SIEM Query:
source="kernel" AND ("trace" OR "tracing") AND ("panic" OR "oops" OR "BUG")
🔗 References
- https://git.kernel.org/stable/c/03127354027508d076073b020d3070990fd6a958
- https://git.kernel.org/stable/c/04b80d45ecfaf780981d6582899e3ab205e4aa08
- https://git.kernel.org/stable/c/4d11fac941d83509be4e6a21038281d6d96da50c
- https://git.kernel.org/stable/c/6854c87ac823181c810f8c07489ba543260c0023
- https://git.kernel.org/stable/c/c7204fd1758c0caf1938e8a59809a1fdf28a8114
- https://git.kernel.org/stable/c/ea8d7647f9ddf1f81e2027ed305299797299aa03
- https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html