CVE-2022-49720
📋 TL;DR
This CVE-2022-49720 is a Linux kernel vulnerability in the block layer's multi-queue request allocation function that can cause an array index out-of-bounds access when handling offline queues. It affects Linux systems using NVMe storage with specific configurations, potentially leading to kernel crashes or instability. The vulnerability is triggered during NVMe fabric connection operations.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash and denial of service, potentially causing data corruption or loss if occurring during critical storage operations.
Likely Case
System instability or crash when NVMe fabrics attempt to connect I/O queues, resulting in temporary service disruption until system reboot.
If Mitigated
Minor performance impact or failed NVMe connection attempts without system-wide disruption if proper bounds checking is implemented.
🎯 Exploit Status
Exploitation requires triggering specific NVMe fabric connection operations; not a remote code execution vulnerability.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel with commits 14dc7a18abbe, 7fa28a7c3d74, b202a0bd2580, or b5e65ef044d6 applied
Vendor Advisory: https://git.kernel.org/stable/c/14dc7a18abbe4176f5626c13c333670da8e06aa1
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits. 2. Check distribution-specific security advisories. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable NVMe fabrics if not needed
LinuxPrevent triggering the vulnerability by disabling NVMe fabrics functionality
modprobe -r nvme-fabrics
echo 'blacklist nvme-fabrics' >> /etc/modprobe.d/blacklist.conf
🧯 If You Can't Patch
- Avoid using NVMe fabrics or NVMe loop devices
- Monitor system logs for UBSAN array-index-out-of-bounds errors related to blk_mq_alloc_request_hctx
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if NVMe fabrics modules are loaded: 'lsmod | grep nvme' and 'uname -r'
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits: 'grep -i "blk_mq_alloc_request_hctx" /proc/kallsyms' or check kernel source for the fix
📡 Detection & Monitoring
Log Indicators:
- UBSAN: array-index-out-of-bounds in block/blk-mq.h
- kernel panic messages
- nvme connection failures
Network Indicators:
- NVMe fabric connection failures
SIEM Query:
source="kernel" AND ("UBSAN" OR "array-index-out-of-bounds" OR "blk_mq_alloc_request_hctx")