CVE-2022-50550
📋 TL;DR
A memory leak vulnerability in the Linux kernel's blk-iolatency subsystem occurs when disk initialization fails after blkcg_init_disk() is called but before add_disk() completes. This affects Linux systems using the blk-iolatency IO controller with specific disk initialization failures, potentially leading to resource exhaustion.
💻 Affected Systems
- Linux kernel
⚠️ Risk & Real-World Impact
Worst Case
Repeated triggering could exhaust kernel memory, causing system instability, denial of service, or kernel panic.
Likely Case
Memory leak during rare disk initialization failures, with minimal impact on stable systems.
If Mitigated
No impact if patched or if disk initialization never fails after blkcg_init_disk() is called.
🎯 Exploit Status
Requires triggering specific error conditions during disk initialization with blk-iolatency enabled.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with commits 215f9437dda09531bcb80605298a24219f01cec5, 2a126e1db5553ce4498290df019866952f858954, or 813e693023ba10da9e75067780f8378465bf27cc
Vendor Advisory: https://git.kernel.org/stable/c/215f9437dda09531bcb80605298a24219f01cec5
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. Reboot system. 3. Verify kernel version matches patched release.
🔧 Temporary Workarounds
Disable blk-iolatency
linuxDisable the blk-iolatency IO controller if not required
echo 0 > /sys/block/<device>/queue/iosched/iolatency_enable
🧯 If You Can't Patch
- Monitor system memory usage for unusual increases during disk operations
- Avoid creating loop devices or disks with invalid configurations that could trigger the failure condition
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if blk-iolatency is enabled on any block devices
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes the fix commits and test disk initialization scenarios
📡 Detection & Monitoring
Log Indicators:
- Kernel oops messages
- Memory allocation failures in kernel logs
- Disk initialization error messages
SIEM Query:
source="kernel" AND ("memory leak" OR "blk-iolatency" OR "add_disk failed")