CVE-2024-44985
📋 TL;DR
This CVE describes a use-after-free vulnerability in the Linux kernel's IPv6 packet transmission function (ip6_xmit()). If skb_expand_head() fails and returns NULL, the socket buffer (skb) is freed, but subsequent code may still access freed memory for associated routing destination (dst) or network device (idev) structures. This affects all Linux systems with IPv6 enabled.
💻 Affected Systems
- Linux kernel
📦 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
Kernel panic leading to system crash, or potential kernel memory corruption that could be leveraged for privilege escalation to root.
Likely Case
System instability, kernel crashes, or denial of service conditions affecting network connectivity.
If Mitigated
Limited impact if proper network segmentation and access controls prevent untrusted users from triggering the vulnerable code path.
🎯 Exploit Status
Exploitation requires sending network packets that cause memory allocation failure in skb_expand_head(), which is non-trivial to control reliably.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 124b428fe28064c809e4237b0b38e97200a8a4a8, 2d5ff7e339d04622d8282661df36151906d0e1c7, 38a21c026ed2cc7232414cb166efc1923f34af17, 975f764e96f71616b530e300c1bb2ac0ce0c2596, b3a3d5333c13a1be57499581eab4a8fc94d57f36
Vendor Advisory: https://git.kernel.org/stable/c/124b428fe28064c809e4237b0b38e97200a8a4a8
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits. 2. Check your distribution's security advisories for specific patched kernel versions. 3. Reboot system after kernel update.
🔧 Temporary Workarounds
Disable IPv6
linuxCompletely disable IPv6 networking to prevent triggering the vulnerable code path.
echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf
sysctl -p
Restrict IPv6 network access
linuxUse firewall rules to limit which systems can send IPv6 packets to vulnerable hosts.
ip6tables -A INPUT -s <trusted_networks> -j ACCEPT
ip6tables -A INPUT -j DROP
🧯 If You Can't Patch
- Implement strict network segmentation to limit which systems can communicate with vulnerable hosts via IPv6.
- Deploy intrusion detection/prevention systems to monitor for abnormal IPv6 traffic patterns that might indicate exploitation attempts.
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with distribution's security advisories. Vulnerable if running kernel version before the fix commits.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes the fix commits: 'uname -r' and check with distribution vendor for patched versions.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages in /var/log/messages or dmesg
- System crash/reboot logs
- Network interface errors related to IPv6 transmission
Network Indicators:
- Abnormal IPv6 packet patterns causing memory allocation failures
- Sudden loss of IPv6 connectivity
SIEM Query:
source="kernel" AND ("panic" OR "Oops" OR "general protection fault") AND ("ip6_xmit" OR "IPv6")
🔗 References
- https://git.kernel.org/stable/c/124b428fe28064c809e4237b0b38e97200a8a4a8
- https://git.kernel.org/stable/c/2d5ff7e339d04622d8282661df36151906d0e1c7
- https://git.kernel.org/stable/c/38a21c026ed2cc7232414cb166efc1923f34af17
- https://git.kernel.org/stable/c/975f764e96f71616b530e300c1bb2ac0ce0c2596
- https://git.kernel.org/stable/c/b3a3d5333c13a1be57499581eab4a8fc94d57f36
- https://git.kernel.org/stable/c/c47e022011719fc5727bca661d662303180535ba
- https://git.kernel.org/stable/c/fc88d6c1f2895a5775795d82ec581afdff7661d1
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html