CVE-2021-47466

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's SLUB allocator. When kmem_cache_open() fails during initialization, it doesn't properly clean up random_seq resources, causing gradual memory exhaustion. This affects all Linux systems using the vulnerable kernel versions.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific vulnerable versions not explicitly stated in CVE, but patches exist for multiple stable branches
Operating Systems: All Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the kernel's memory management subsystem and affects all configurations using SLUB allocator

📦 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Sustained exploitation could lead to complete system memory exhaustion, causing kernel panics, system crashes, and denial of service across all running processes.

🟠

Likely Case

Gradual memory consumption over time leading to performance degradation, application failures, and eventual system instability requiring reboots.

🟢

If Mitigated

With proper monitoring and memory limits, impact is limited to performance issues and potential service disruptions rather than complete system failure.

🌐 Internet-Facing: LOW
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: HIGH

Exploitation requires kernel-level access or ability to trigger specific error conditions in kmem_cache_open()

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Multiple stable kernel versions with fixes available (see references)

Vendor Advisory: https://git.kernel.org/stable/c/42b81946e3ac9ea0372ba16e05160dc11e02694f

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution's repositories. 2. Reboot system to load new kernel. 3. Verify kernel version after reboot.

🔧 Temporary Workarounds

Memory monitoring and limits

linux

Implement aggressive memory monitoring and process limits to detect and contain memory leaks

# Set memory limits for processes
ulimit -v [LIMIT]
# Monitor memory usage
watch -n 1 'free -h'

🧯 If You Can't Patch

  • Implement comprehensive memory monitoring with alerts for unusual consumption patterns
  • Establish regular system reboot schedules to clear accumulated memory leaks

🔍 How to Verify

Check if Vulnerable:

Check kernel version against distribution's security advisories or run: uname -r and compare with known vulnerable versions

Check Version:

uname -r

Verify Fix Applied:

After patching, verify kernel version with: uname -r and ensure it matches patched version from vendor advisory

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • Out of memory (OOM) killer activity in syslog
  • Gradually increasing memory usage in system logs

Network Indicators:

  • None - this is a local memory management issue

SIEM Query:

source="kernel" AND ("out of memory" OR "oom" OR "slub" OR "kmem_cache")

🔗 References

📤 Share & Export