CVE-2024-57994

5.5 MEDIUM

📋 TL;DR

A race condition vulnerability in the Linux kernel's ptr_ring_resize_multiple() function could cause kernel panics or system instability when network device queue resizing occurs during hardware interrupt handling. This affects Linux systems using the ptr_ring or skb_array subsystems, particularly those with network interfaces that support dynamic queue resizing.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions before the fix commits (specific versions vary by distribution, but generally before kernel 6.11.0-rc3 with backports)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires systems using ptr_ring or skb_array subsystems, particularly with network interfaces that support dynamic queue resizing (like tun/tap devices).

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially causing data loss or service disruption.

🟠

Likely Case

System instability, kernel warnings, or crashes during network configuration changes, particularly when modifying network interface queue lengths.

🟢

If Mitigated

Minor performance impact during network queue resizing operations with proper patching.

🌐 Internet-Facing: MEDIUM - Network-facing systems could be disrupted by triggering queue resizing operations, but exploitation requires specific conditions.
🏢 Internal Only: MEDIUM - Internal systems could experience crashes during legitimate network administration tasks.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: HIGH - Requires triggering specific race conditions during network queue resizing operations.

Discovered by syzbot fuzzer; exploitation requires precise timing and specific system configuration.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 3257dac521d0ac6653108c755141dce634bb8ff2, 572777a258c048e0d0fb3a0c47430eadcefe80c0, a126061c80d5efb4baef4bcf346094139cd81df6, e74801b7628dc52b17471aec729bc675479ddc73

Vendor Advisory: https://git.kernel.org/stable/c/3257dac521d0ac6653108c755141dce634bb8ff2

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager to update kernel package. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Avoid dynamic queue resizing

linux

Prevent network interface queue length changes that could trigger the vulnerable code path.

# Set network interface queue lengths to static values
# Example: ethtool -G eth0 rx 512 tx 512
# Disable automatic queue resizing features if available

🧯 If You Can't Patch

  • Monitor system logs for kernel warnings related to ptr_ring_resize_multiple or page_pool
  • Avoid network configuration changes that modify queue lengths on production systems

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if it contains the vulnerable ptr_ring_resize_multiple() function. Run: uname -r and check against distribution security advisories.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits or check that ptr_ring_resize_multiple_bh() is present instead of ptr_ring_resize_multiple().

📡 Detection & Monitoring

Log Indicators:

  • Kernel warnings mentioning ptr_ring_resize_multiple, __page_pool_put_page, or page_pool_put_unrefed_netmem
  • System crash logs during network configuration changes

Network Indicators:

  • Unusual network interface reconfiguration attempts

SIEM Query:

source="kernel" AND ("ptr_ring_resize_multiple" OR "page_pool_put_unrefed_netmem" OR "WARNING: CPU:")

🔗 References

📤 Share & Export