CVE-2022-50521
📋 TL;DR
This is a memory leak vulnerability in the Linux kernel's mxm-wmi driver where ACPI buffer memory isn't freed after WMI method calls. It affects Linux systems with the mxm-wmi driver loaded, potentially leading to kernel memory exhaustion over time.
💻 Affected Systems
- Linux kernel
⚠️ Risk & Real-World Impact
Worst Case
Sustained exploitation could cause kernel memory exhaustion leading to system instability, crashes, or denial of service.
Likely Case
Gradual memory consumption over time requiring system reboot to clear accumulated memory.
If Mitigated
Minimal impact with proper monitoring and regular reboots.
🎯 Exploit Status
Requires local access and ability to trigger the vulnerable WMI calls
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing the fix commits referenced in CVE
Vendor Advisory: https://git.kernel.org/stable/c/14bb4bde3b7b2584734b13747b345caeeb41bea3
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. Rebuild kernel if compiling from source. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Unload mxm-wmi module
linuxPrevent loading of vulnerable driver if not needed
sudo modprobe -r mxm-wmi
echo 'blacklist mxm-wmi' | sudo tee /etc/modprobe.d/blacklist-mxm-wmi.conf
🧯 If You Can't Patch
- Monitor kernel memory usage and implement alerting for abnormal consumption
- Schedule regular system reboots to clear accumulated memory
🔍 How to Verify
Check if Vulnerable:
Check if mxm-wmi module is loaded: lsmod | grep mxm-wmi
Check Version:
uname -r
Verify Fix Applied:
Check kernel version against patched versions or verify mxm-wmi module is not loaded
📡 Detection & Monitoring
Log Indicators:
- Kernel oom-killer events
- System memory exhaustion warnings in dmesg
Network Indicators:
- None - local vulnerability only
SIEM Query:
Search for kernel panic or oom-killer events in system logs
🔗 References
- https://git.kernel.org/stable/c/14bb4bde3b7b2584734b13747b345caeeb41bea3
- https://git.kernel.org/stable/c/17cd8c46cbec4e6ad593fb9159928b8e7608c11a
- https://git.kernel.org/stable/c/379e7794c5e7485193d25d73614fbbd1e1387f6f
- https://git.kernel.org/stable/c/3cf81501356c9e898ad94b2369ffc805f83f7d7b
- https://git.kernel.org/stable/c/50ac517d6f5348b276f1f663799cf85dce521518
- https://git.kernel.org/stable/c/5b0f81b0808235967868e01336c976e840217108
- https://git.kernel.org/stable/c/727cc0147f5066e359aca65cc6cc5e6d64cc15d8
- https://git.kernel.org/stable/c/87426ce3bd57ad414b6e2436434ef8128986a9a5