CVE-2024-50252

5.5 MEDIUM

📋 TL;DR

A memory leak vulnerability in the Linux kernel's mlxsw driver occurs when changing the remote IPv6 address on ip6gre tunnel interfaces. This causes kernel memory exhaustion over time, potentially leading to system instability or denial of service. Systems using Mellanox Spectrum switches with ip6gre tunnels configured are affected.

💻 Affected Systems

Products:
  • Linux kernel with mlxsw driver
  • Mellanox Spectrum switches
Versions: Linux kernel versions containing commit 12ae97c531fcd3bfd774d4dfeaeac23eafe24280 up to the fix
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when ip6gre tunnels are configured and remote IPv6 addresses are changed. Requires Mellanox Spectrum hardware with mlxsw driver.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Sustained exploitation could exhaust kernel memory, causing system crashes, denial of service, or unpredictable system behavior requiring reboots.

🟠

Likely Case

Gradual memory consumption leading to performance degradation and eventual system instability requiring manual intervention.

🟢

If Mitigated

Minimal impact with proper monitoring and memory limits in place, though memory would still leak until patched.

🌐 Internet-Facing: LOW - Requires local network access and specific ip6gre tunnel configuration changes.
🏢 Internal Only: MEDIUM - Internal administrators or automated systems making ip6gre configuration changes could trigger the leak.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: LOW - Requires ability to configure ip6gre tunnels (typically root/admin access)

Exploitation requires privileged access to modify network configuration. The vulnerability is triggered by legitimate administrative actions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with fixes from git commits: 31384aa2ad05c29c7745000f321154f42de24d1a, c1bbdbe07f0bc3bc9f87efe4672d67208c6d6942, d8f298eb6659eb6a38e26b79e77de4449dc6e61b

Vendor Advisory: https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix. 2. Check distribution-specific security advisories. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Avoid ip6gre remote address changes

linux

Prevent triggering the memory leak by avoiding changes to remote IPv6 addresses on ip6gre tunnels

# Do not execute: ip link set dev <interface> type ip6gre remote <new_ipv6_address>

Monitor kernel memory usage

linux

Implement monitoring for kernel memory consumption and alert on abnormal patterns

# Monitor slab memory: cat /proc/meminfo | grep Slab
# Monitor kernel memory: cat /proc/meminfo | grep KernelStack

🧯 If You Can't Patch

  • Implement strict change control for ip6gre tunnel configurations
  • Deploy kernel memory monitoring with automated alerts for memory exhaustion patterns

🔍 How to Verify

Check if Vulnerable:

Check if system uses ip6gre tunnels and has made remote IPv6 address changes. Monitor for kernel warnings about mlxsw_sp_ipv6_addr_put.

Check Version:

uname -r

Verify Fix Applied:

After patching, test ip6gre remote address changes and verify no memory leaks occur using slabtop or /proc/meminfo monitoring.

📡 Detection & Monitoring

Log Indicators:

  • Kernel warnings containing 'mlxsw_sp_ipv6_addr_put'
  • System log messages about memory allocation failures
  • OOM killer events

Network Indicators:

  • Unusual ip6gre tunnel reconfiguration patterns

SIEM Query:

source="kernel" AND "mlxsw_sp_ipv6_addr_put" OR "memory leak" AND "ip6gre"

🔗 References

📤 Share & Export