CVE-2024-39506
📋 TL;DR
This CVE describes a NULL pointer dereference vulnerability in the Linux kernel's liquidio network driver. The flaw occurs in the lio_vf_rep_copy_packet() function where a page pointer is checked for NULL but then unconditionally passed to skb_add_rx_frag(), potentially causing kernel crashes or denial of service. Systems using affected liquidio drivers are vulnerable.
💻 Affected Systems
- Linux kernel with liquidio 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 →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 requiring physical access to restore functionality.
Likely Case
System instability, kernel crashes, or denial of service affecting network functionality on systems with liquidio hardware.
If Mitigated
Minor performance impact or no effect if the vulnerable code path isn't triggered.
🎯 Exploit Status
Exploitation requires specific hardware (liquidio NICs) and network conditions to trigger the vulnerable code path. No public exploits are known.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2, a6f4d0ec170a46b5f453cacf55dff5989b42bbfa, a86490a3712cc513113440a606a0e77130abd47c, c44711b78608c98a3e6b49ce91678cd0917d5349, cbf18d8128a753cb632bef39470d19befd9c7347
Vendor Advisory: https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel package. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable liquidio module
linuxPrevent loading of vulnerable liquidio driver if not needed
echo 'blacklist liquidio' >> /etc/modprobe.d/blacklist.conf
rmmod liquidio
🧯 If You Can't Patch
- Remove or disable liquidio network hardware if not essential
- Implement network segmentation to isolate systems with liquidio hardware
🔍 How to Verify
Check if Vulnerable:
Check if liquidio module is loaded: lsmod | grep liquidio AND check kernel version against patched versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits and liquidio module loads without errors
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- System crash/reboot logs
- liquidio driver error messages in dmesg
Network Indicators:
- Sudden loss of network connectivity on liquidio interfaces
SIEM Query:
Search for kernel panic events or system crashes on hosts with liquidio hardware
🔗 References
- https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2
- https://git.kernel.org/stable/c/a6f4d0ec170a46b5f453cacf55dff5989b42bbfa
- https://git.kernel.org/stable/c/a86490a3712cc513113440a606a0e77130abd47c
- https://git.kernel.org/stable/c/c44711b78608c98a3e6b49ce91678cd0917d5349
- https://git.kernel.org/stable/c/cbf18d8128a753cb632bef39470d19befd9c7347
- https://git.kernel.org/stable/c/dcc7440f32c7a26b067aff6e7d931ec593024a79
- https://git.kernel.org/stable/c/f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee
- https://git.kernel.org/stable/c/fd2b613bc4c508e55c1221c6595bb889812a4fea
- https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2
- https://git.kernel.org/stable/c/a6f4d0ec170a46b5f453cacf55dff5989b42bbfa
- https://git.kernel.org/stable/c/a86490a3712cc513113440a606a0e77130abd47c
- https://git.kernel.org/stable/c/c44711b78608c98a3e6b49ce91678cd0917d5349
- https://git.kernel.org/stable/c/cbf18d8128a753cb632bef39470d19befd9c7347
- https://git.kernel.org/stable/c/dcc7440f32c7a26b067aff6e7d931ec593024a79
- https://git.kernel.org/stable/c/f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee
- https://git.kernel.org/stable/c/fd2b613bc4c508e55c1221c6595bb889812a4fea
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html