CVE-2024-47707
📋 TL;DR
This CVE describes a NULL pointer dereference vulnerability in the Linux kernel's IPv6 routing subsystem. The flaw occurs when the rt6_uncached_list_flush_dev() function attempts to access a NULL rt->rt6i_idev pointer, causing a kernel panic and system crash. 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to complete system crash and denial of service, potentially causing data loss and service disruption.
Likely Case
System crash when network interfaces are disabled or removed, resulting in temporary denial of service until system reboot.
If Mitigated
Minimal impact if systems have IPv6 disabled or are not performing network interface operations that trigger the vulnerable code path.
🎯 Exploit Status
Exploitation requires triggering specific network interface operations, which may require local access or ability to manipulate network configuration.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commit 04ccecfa959d3b9ae7348780d8e379c6486176ac and backported to stable branches
Vendor Advisory: https://git.kernel.org/stable/c/04ccecfa959d3b9ae7348780d8e379c6486176ac
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing fix commit 04ccecfa959d3b9ae7348780d8e379c6486176ac
2. Reboot system to load new kernel
3. Verify kernel version after reboot
🔧 Temporary Workarounds
Disable IPv6
linuxDisable IPv6 functionality 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
🧯 If You Can't Patch
- Implement strict network interface management policies to prevent unauthorized interface operations
- Monitor system logs for kernel panic events and implement automated recovery procedures
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with affected versions. Vulnerable if running kernel containing the buggy commit before fix commit 04ccecfa959d3b9ae7348780d8e379c6486176ac
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commit 04ccecfa959d3b9ae7348780d8e379c6486176ac or later
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- NULL pointer dereference errors in kernel logs
- System crash/reboot events
Network Indicators:
- Sudden loss of network connectivity
- Interface state changes preceding crashes
SIEM Query:
source="kernel" AND ("NULL pointer dereference" OR "general protection fault" OR "rt6_uncached_list_flush_dev")
🔗 References
- https://git.kernel.org/stable/c/04ccecfa959d3b9ae7348780d8e379c6486176ac
- https://git.kernel.org/stable/c/08409e401622e2896b4313be9f781bde8a2a6a53
- https://git.kernel.org/stable/c/0ceb2f2b5c813f932d6e60d3feec5e7e713da783
- https://git.kernel.org/stable/c/8a8b83016f06805775db099c8377024b6fa5b975
- https://git.kernel.org/stable/c/9a0ddc73be37d19dff1ba08290af34e707d18e50
- https://git.kernel.org/stable/c/a61a174280dad99f25a7dee920310885daf2552b
- https://git.kernel.org/stable/c/e43dd28405e6b9935279996725ee11e6306547a5
- https://git.kernel.org/stable/c/f2bd9635543ca41533b870f420872819f8331823
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html