CVE-2022-49144
📋 TL;DR
A memory leak vulnerability in the Linux kernel's io_uring subsystem fails to properly release user ID (uid) references when processing file registrations. This allows local attackers to cause kernel memory exhaustion, potentially leading to denial of service. Only Linux systems using io_uring are affected.
💻 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
Local attacker causes kernel memory exhaustion leading to system crash or instability, requiring reboot.
Likely Case
Local user triggers memory leak causing gradual performance degradation or application failures.
If Mitigated
Minimal impact with proper memory monitoring and user privilege restrictions in place.
🎯 Exploit Status
Exploitation requires local access and ability to trigger io_uring file registration operations. No public exploit code known.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in kernel stable releases referenced in git commits (e.g., 5.10.110, 5.15.33, 5.16.20, 5.17.3)
Vendor Advisory: https://git.kernel.org/stable/c/0853bd6885c2f293d88aaa7f7f1702c959b31680
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
Disable io_uring module
linuxPrevent loading of io_uring kernel module to mitigate vulnerability
echo 'blacklist io_uring' >> /etc/modprobe.d/blacklist.conf
rmmod io_uring
Restrict user access
linuxLimit which users can create io_uring instances
Use Linux capabilities or SELinux/AppArmor to restrict io_uring usage
🧯 If You Can't Patch
- Monitor kernel memory usage for unusual growth patterns
- Restrict local user access to systems and implement least privilege principles
🔍 How to Verify
Check if Vulnerable:
Check kernel version: uname -r and compare with affected versions. Check if io_uring is loaded: lsmod | grep io_uring
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version after update shows patched version. Check dmesg for any io_uring related errors after attempted exploitation.
📡 Detection & Monitoring
Log Indicators:
- Kernel OOM (Out of Memory) messages in dmesg
- Rapid increase in kernel memory usage in system monitoring
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("out of memory" OR "oom" OR "io_uring")
🔗 References
- https://git.kernel.org/stable/c/0853bd6885c2f293d88aaa7f7f1702c959b31680
- https://git.kernel.org/stable/c/7fa8b228c3f30060b9f4b24bb9aaaf41b0ae83fe
- https://git.kernel.org/stable/c/b27de7011cb3ba14b047be2cee0ed8278368665b
- https://git.kernel.org/stable/c/c86d18f4aa93e0e66cda0e55827cd03eea6bc5f8
- https://git.kernel.org/stable/c/d6d7a517e81accf6ed22d55684baea763d2dbe43