CVE-2025-21868

5.5 MEDIUM

📋 TL;DR

A Linux kernel vulnerability where improper memory allocation handling when MAX_SKB_FRAGS is set to large values (like 45) can cause kernel warnings and potential denial-of-service. This affects Linux systems with custom kernel builds using specific MAX_SKB_FRAGS configurations, particularly during network interface initialization.

💻 Affected Systems

Products:
  • Linux Kernel
Versions: Versions before fixes in stable trees (specific commits: 14ad6ed30a10, 648e440c98e2, ed0ca7d2127c, ed8a77fee461)
Operating Systems: Linux distributions with custom kernel builds
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when kernel is built with MAX_SKB_FRAGS set to large values (like 45) where SKB_WITH_OVERHEAD(1024) < GRO_MAX_HEAD. Default configurations are not affected.

📦 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 or system crash during network stack initialization, preventing system boot or causing unexpected reboots.

🟠

Likely Case

Kernel warning messages during boot or network initialization, potentially causing network functionality issues or system instability.

🟢

If Mitigated

Minor performance impact from using kmalloc() instead of more efficient allocation methods for small head cache scenarios.

🌐 Internet-Facing: LOW - Requires specific kernel build configuration and affects initialization phase.
🏢 Internal Only: LOW - Only affects systems with custom kernel builds using specific MAX_SKB_FRAGS values.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: HIGH

This is a configuration-specific issue that triggers during kernel initialization, not a remotely exploitable vulnerability. Requires specific kernel build parameters.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patches available in stable kernel trees via referenced commits

Vendor Advisory: https://git.kernel.org/stable/c/14ad6ed30a10afbe91b0749d6378285f4225d482

Restart Required: Yes

Instructions:

1. Update to patched kernel version from your distribution. 2. For custom builds, apply patches from stable kernel tree. 3. Recompile and install kernel. 4. Reboot system.

🔧 Temporary Workarounds

Avoid custom MAX_SKB_FRAGS configurations

linux

Use default kernel configurations or avoid setting MAX_SKB_FRAGS to values that cause SKB_WITH_OVERHEAD(1024) < GRO_MAX_HEAD

🧯 If You Can't Patch

  • Use default kernel configurations without custom MAX_SKB_FRAGS settings
  • Monitor system logs for WARNING messages from netif_napi_add_weight_locked and be prepared for potential instability

🔍 How to Verify

Check if Vulnerable:

Check kernel configuration for MAX_SKB_FRAGS setting and verify if using affected kernel versions before patches

Check Version:

uname -r

Verify Fix Applied:

Check kernel version is updated beyond patched commits and verify no WARNING messages during boot related to netif_napi_add_weight_locked

📡 Detection & Monitoring

Log Indicators:

  • WARNING: CPU: 0 PID: 1 at net/core/dev.c:6935 netif_napi_add_weight_locked
  • Kernel panic during network initialization

Network Indicators:

  • Network interface initialization failures

SIEM Query:

source="kernel" AND "netif_napi_add_weight_locked" AND "WARNING"

🔗 References

📤 Share & Export