CVE-2022-50396
📋 TL;DR
A memory leak vulnerability exists in the Linux kernel's traffic control subsystem when modifying tcindex filters. This allows attackers to cause kernel memory exhaustion through repeated filter modifications, potentially leading to denial of service. Systems running affected Linux kernel versions with traffic control enabled are vulnerable.
💻 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 memory exhaustion leading to system crash or denial of service, requiring reboot to recover
Likely Case
Gradual memory consumption affecting system performance over time, potentially causing instability
If Mitigated
Minimal impact with proper monitoring and memory limits in place
🎯 Exploit Status
Requires local access with CAP_NET_ADMIN privileges. Exploitation involves repeatedly modifying tcindex filters to trigger memory leak.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 01d0d2b8b4e3cf2110baba9371c0c3d04ad5c77b, 18c3fa7a7fdbb4d21dafc8a7710ae2c1680930f6, 372ae77cf11d11fb118cbe2d37def9dd5f826abd, 399ab7fe0fa0d846881685fd4e57e9a8ef7559f7, 3abebc503a5148072052c229c6b04b329a420ecd
Vendor Advisory: https://git.kernel.org/stable/c/
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix. 2. Check distribution-specific security advisories. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Restrict CAP_NET_ADMIN
allLimit users and processes with CAP_NET_ADMIN capability to reduce attack surface
setcap -r CAP_NET_ADMIN /path/to/binary
capsh --drop=cap_net_admin -- -c "command"
Disable tcindex filter modifications
allPrevent modification of tcindex filters through policy or access controls
iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT
tc filter del dev eth0 parent 1:0 prio 1
🧯 If You Can't Patch
- Implement strict monitoring of kernel memory usage and system logs
- Restrict network administration capabilities to essential users only
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if traffic control is enabled: uname -r && tc qdisc show
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version contains fix commit: grep -q 'commit_hash' /proc/version || echo 'Check kernel source'
📡 Detection & Monitoring
Log Indicators:
- Kernel OOM messages
- Memory leak warnings in dmesg
- Increased slab memory usage
Network Indicators:
- Unusual tc filter modification patterns
- Multiple tcindex change operations
SIEM Query:
source="kernel" AND ("memory leak" OR "tcindex" OR "kmalloc" OR "slab")
🔗 References
- https://git.kernel.org/stable/c/01d0d2b8b4e3cf2110baba9371c0c3d04ad5c77b
- https://git.kernel.org/stable/c/18c3fa7a7fdbb4d21dafc8a7710ae2c1680930f6
- https://git.kernel.org/stable/c/372ae77cf11d11fb118cbe2d37def9dd5f826abd
- https://git.kernel.org/stable/c/399ab7fe0fa0d846881685fd4e57e9a8ef7559f7
- https://git.kernel.org/stable/c/3abebc503a5148072052c229c6b04b329a420ecd
- https://git.kernel.org/stable/c/53af9c793f644d5841d84d8e0ad83bd7ab47f3e0
- https://git.kernel.org/stable/c/55ac68b53f1cea1926ee2313afc5d66b91daad71
- https://git.kernel.org/stable/c/6c55953e232ea668731091d111066521f3b7719b
- https://git.kernel.org/stable/c/7a6fb69bbcb21e9ce13bdf18c008c268874f0480
- https://git.kernel.org/stable/c/7c183dc0af472dec33d2c0786a5e356baa8cad19
- https://git.kernel.org/stable/c/b314f6c3512108d7a656c5caf07c82d1bbbdc0f1
- https://git.kernel.org/stable/c/c4de6057e7c6654983acb63d939d26ac0d7bbf39
- https://git.kernel.org/stable/c/facc4405e8b7407e03216207b1d1d640127de0c8