CVE-2025-39847

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's PPP (Point-to-Point Protocol) implementation. When the pad_compress_skb() function fails to allocate memory for compression, it doesn't properly release the original network buffer, causing a memory leak. This affects systems using PPP connections, particularly routers, VPN servers, and embedded devices.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not specified in CVE; check kernel commit history for exact ranges
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with PPP functionality enabled and in use; many modern systems may not use PPP by default.

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

⚠️ 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 under heavy PPP traffic, potentially leading to performance degradation or service disruption over time.

🟢

If Mitigated

Minimal impact with proper monitoring and memory limits in place; may cause occasional packet drops under memory pressure.

🌐 Internet-Facing: MEDIUM - Systems with PPP-based internet connections (PPPoE, VPNs) are exposed, but exploitation requires specific traffic patterns.
🏢 Internal Only: LOW - Internal systems using PPP for internal networking are less likely to be targeted and have more controlled traffic.

🎯 Exploit Status

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

Exploitation requires ability to send PPP traffic to trigger the memory allocation failure path; not trivial to weaponize for immediate impact.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions with commits 0b21e9cd4559102da798bdcba453b64ecd7be7ee and related fixes

Vendor Advisory: https://git.kernel.org/stable/c/0b21e9cd4559102da798bdcba453b64ecd7be7ee

Restart Required: No

Instructions:

1. Update Linux kernel to patched version from your distribution vendor. 2. For custom kernels, apply commits from kernel.org. 3. Recompile and deploy kernel if building from source.

🔧 Temporary Workarounds

Disable PPP compression

Linux

Prevent the vulnerable code path by disabling PPP compression features

echo 0 > /proc/sys/net/ipv4/ip_ppp_compression
sysctl -w net.ipv4.ip_ppp_compression=0

Disable PPP module

Linux

Remove PPP functionality if not required

rmmod ppp_generic
rmmod pppox
rmmod pppoe

🧯 If You Can't Patch

  • Implement memory usage monitoring and alerts for PPP-related processes
  • Restrict PPP usage to trusted networks only

🔍 How to Verify

Check if Vulnerable:

Check kernel version and verify if PPP compression is enabled: cat /proc/sys/net/ipv4/ip_ppp_compression

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is patched and test PPP connections while monitoring memory usage

📡 Detection & Monitoring

Log Indicators:

  • Kernel OOM (Out of Memory) messages
  • PPP connection errors
  • Increasing memory usage by kernel processes

Network Indicators:

  • Unusual PPP traffic patterns
  • PPP connection failures

SIEM Query:

source="kernel" AND ("PPP" OR "ppp") AND ("memory" OR "OOM" OR "allocation failed")

🔗 References

📤 Share & Export