CVE-2024-36945
📋 TL;DR
This CVE describes a memory leak vulnerability in the Linux kernel's SMC (Shared Memory Communications) networking subsystem. When the smc_ib_find_route() function fails to properly release neighbor and routing table resources, it can cause gradual memory exhaustion. This affects Linux systems using SMC networking features.
💻 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 →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 lead to kernel memory exhaustion, causing system instability, denial of service, or potential kernel crashes.
Likely Case
Gradual memory consumption over time leading to performance degradation and potential service disruption in systems using SMC networking.
If Mitigated
Minimal impact with proper monitoring and memory limits in place, though resource exhaustion could still occur under heavy SMC usage.
🎯 Exploit Status
Exploitation requires ability to trigger SMC route lookups repeatedly. This is a resource exhaustion vulnerability, not a code execution vulnerability.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 2ddc0dd7fec86ee53b8928a5cca5fbddd4fc7c06, 5df93c029a907b0ff5a4eeadd77ba06ff0a277d2, d5a466ab6e78d6f2e0f64435f1e17246c8e941ff, da91e447d06dc649fcf46e59122e7bf8f0b2e0db
Vendor Advisory: https://git.kernel.org/stable/c/2ddc0dd7fec86ee53b8928a5cca5fbddd4fc7c06
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. Reboot the system after kernel update.
🔧 Temporary Workarounds
Disable SMC networking
linuxIf SMC is not required, disable it to eliminate the vulnerability surface
modprobe -r smc
echo 'blacklist smc' >> /etc/modprobe.d/blacklist.conf
🧯 If You Can't Patch
- Monitor kernel memory usage and system performance metrics for signs of memory exhaustion
- Implement memory limits and restart services if memory consumption exceeds thresholds
🔍 How to Verify
Check if Vulnerable:
Check if SMC module is loaded: lsmod | grep smc. If loaded and kernel version is before fix commits, system may be vulnerable.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits or check with distribution's security update verification tools.
📡 Detection & Monitoring
Log Indicators:
- Kernel OOM (Out of Memory) messages
- Increasing memory usage in kernel space
- System performance degradation logs
Network Indicators:
- Unusual SMC connection patterns if monitored
SIEM Query:
source="kernel" AND ("Out of memory" OR "kernel: Out of memory" OR "oom-killer")
🔗 References
- https://git.kernel.org/stable/c/2ddc0dd7fec86ee53b8928a5cca5fbddd4fc7c06
- https://git.kernel.org/stable/c/5df93c029a907b0ff5a4eeadd77ba06ff0a277d2
- https://git.kernel.org/stable/c/d5a466ab6e78d6f2e0f64435f1e17246c8e941ff
- https://git.kernel.org/stable/c/da91e447d06dc649fcf46e59122e7bf8f0b2e0db
- https://git.kernel.org/stable/c/2ddc0dd7fec86ee53b8928a5cca5fbddd4fc7c06
- https://git.kernel.org/stable/c/5df93c029a907b0ff5a4eeadd77ba06ff0a277d2
- https://git.kernel.org/stable/c/d5a466ab6e78d6f2e0f64435f1e17246c8e941ff
- https://git.kernel.org/stable/c/da91e447d06dc649fcf46e59122e7bf8f0b2e0db
- https://security.netapp.com/advisory/ntap-20250404-0006/