CVE-2022-49890
📋 TL;DR
A memory leak vulnerability in the Linux kernel's capabilities subsystem could allow local attackers to cause denial of service through resource exhaustion. The vulnerability occurs when vfs_getxattr_alloc() fails to properly free allocated memory in error conditions. This affects all Linux systems using the affected kernel versions.
💻 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 →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
Local attackers could exhaust kernel memory, leading to system instability, crashes, or denial of service affecting all users on the system.
Likely Case
Local users could cause gradual memory exhaustion, potentially degrading system performance over time or causing specific services to fail.
If Mitigated
With proper memory limits and monitoring, impact is limited to potential performance degradation rather than complete system failure.
🎯 Exploit Status
Exploitation requires local access and knowledge of triggering the specific error path. No public exploits have been reported.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel commits: 0c3e6288da650d1ec911a259c77bc2d88e498603, 2de8eec8afb75792440b8900a01d52b8f6742fd1, 6bb00eb21c0fbf18e5d3538c9ff0cf63fd0ace85, 7480aeff0093d8c54377553ec6b31110bea37b4d, 8cf0a1bc12870d148ae830a4ba88cfdf0e879cee
Vendor Advisory: https://git.kernel.org/stable/c/0c3e6288da650d1ec911a259c77bc2d88e498603
Restart Required: Yes
Instructions:
1. Update to a kernel version containing the fix commits. 2. Check your distribution's security advisories for specific patched versions. 3. Reboot the system after kernel update.
🔧 Temporary Workarounds
Memory limit enforcement
linuxImplement strict memory limits for user processes to limit impact of memory exhaustion attacks
ulimit -v [LIMIT]
systemctl set-property user.slice MemoryMax=[LIMIT]
🧯 If You Can't Patch
- Implement strict access controls to limit local user accounts
- Monitor system memory usage and set up alerts for abnormal memory consumption patterns
🔍 How to Verify
Check if Vulnerable:
Check kernel version and compare with distribution's security advisory for patched versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated to a version containing the fix commits
📡 Detection & Monitoring
Log Indicators:
- Kernel oom-killer messages
- Abnormal memory usage patterns in system logs
- Process crashes related to memory allocation
Network Indicators:
- None - this is a local vulnerability
SIEM Query:
source="kernel" AND ("out of memory" OR "oom-killer" OR "memory allocation failure")
🔗 References
- https://git.kernel.org/stable/c/0c3e6288da650d1ec911a259c77bc2d88e498603
- https://git.kernel.org/stable/c/2de8eec8afb75792440b8900a01d52b8f6742fd1
- https://git.kernel.org/stable/c/6bb00eb21c0fbf18e5d3538c9ff0cf63fd0ace85
- https://git.kernel.org/stable/c/7480aeff0093d8c54377553ec6b31110bea37b4d
- https://git.kernel.org/stable/c/8cf0a1bc12870d148ae830a4ba88cfdf0e879cee
- https://git.kernel.org/stable/c/90577bcc01c4188416a47269f8433f70502abe98
- https://git.kernel.org/stable/c/cdf01c807e974048c43c7fd3ca574f6086a57906