CVE-2021-47291
📋 TL;DR
This is a memory corruption vulnerability in the Linux kernel's IPv6 routing subsystem that can cause slab-out-of-bounds reads/writes. It affects Linux systems with IPv6 enabled and can potentially lead to kernel crashes or privilege escalation. The vulnerability occurs during route exception cleanup when fib6_metrics initialization fails.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash, or potential privilege escalation to kernel mode allowing full system compromise.
Likely Case
Kernel crash causing system instability or denial of service, requiring reboot to restore functionality.
If Mitigated
System remains stable if exploit attempts are blocked or fail, with no impact on availability.
🎯 Exploit Status
Exploitation requires precise timing and conditions to trigger the memory corruption. No public exploits have been reported.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with commits 115784bcccf1, 830251361425, 8fb4792f091e, ce8fafb68051, or later
Vendor Advisory: https://git.kernel.org/stable/c/115784bcccf135c3a3548098153413d76f16aae0
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. Check distribution-specific security advisories. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable IPv6
linuxTemporarily disable IPv6 to prevent exploitation
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
sysctl -w net.ipv6.conf.all.disable_ipv6=1
Restrict IPv6 routing
linuxLimit IPv6 routing functionality to reduce attack surface
sysctl -w net.ipv6.conf.all.forwarding=0
sysctl -w net.ipv6.conf.all.accept_ra=0
🧯 If You Can't Patch
- Implement network segmentation to isolate systems with vulnerable kernels
- Deploy kernel hardening measures like KASAN to detect exploitation attempts
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with patched versions. Run: uname -r and check if it's before the patched commits.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes the fix commits: grep -q '115784bcccf1\|830251361425\|8fb4792f091e\|ce8fafb68051' /proc/version
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- KASAN error reports mentioning fib6_nh_flush_exceptions
- System crash/reboot logs
Network Indicators:
- Unusual IPv6 routing traffic patterns
- Malformed IPv6 packets targeting routing functions
SIEM Query:
source="kernel" AND ("KASAN" OR "slab-out-of-bounds" OR "fib6_nh_flush_exceptions" OR "kernel panic")
🔗 References
- https://git.kernel.org/stable/c/115784bcccf135c3a3548098153413d76f16aae0
- https://git.kernel.org/stable/c/830251361425c5be044db4d826aaf304ea3d14c6
- https://git.kernel.org/stable/c/8fb4792f091e608a0a1d353dfdf07ef55a719db5
- https://git.kernel.org/stable/c/ce8fafb68051fba52546f8bbe8621f7641683680
- https://git.kernel.org/stable/c/115784bcccf135c3a3548098153413d76f16aae0
- https://git.kernel.org/stable/c/830251361425c5be044db4d826aaf304ea3d14c6
- https://git.kernel.org/stable/c/8fb4792f091e608a0a1d353dfdf07ef55a719db5
- https://git.kernel.org/stable/c/ce8fafb68051fba52546f8bbe8621f7641683680