Kernel Hang Vulnerability in Linux Packages Due to NVMe Command Tag Exhaustion
Summary
CVE-2024-41082: In the Linux kernel, the following vulnerability has been resolved: nvme-fabrics: use reserved tag for reg read/write command In some scenarios, if too many commands are issued by nvme command in the same time by user ta... Affects linux versions 5.10.103-1 – 6.9.9-1. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The Linux kernel is the core component of Linux operating systems, managing hardware and system resources. It provides essential services for all other software running on the system. The kernel is designed to handle multiple tasks simultaneously, but it can be vulnerable to issues that arise from resource exhaustion, such as the one described in CVE-2024-41082. This vulnerability specifically affects the NVMe (Non-Volatile Memory Express) subsystem, which is responsible for managing storage devices connected via the NVMe protocol.
Vulnerability Detail
CVE-2024-41082 is a vulnerability in the Linux kernel's NVMe subsystem that arises when too many commands are issued simultaneously by user tasks. This can lead to the exhaustion of available tags on the admin queue (admin_q). If a reset occurs before these commands are completed, the reconnect routine may fail to update NVMe registers due to insufficient tags, resulting in a kernel hang. This situation can severely impact system stability and performance, making it critical to address.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary workaround, users can modify the NVMe command handling to use reserved tags for register read/write commands. This can be done by ensuring that the reg_read32(), reg_read64(), and reg_write32() functions utilize reserved tags, which may help prevent the exhaustion of available tags during high command issuance scenarios.
Conclusion
CVE-2024-41082 presents a significant risk to systems utilizing the Linux kernel's NVMe subsystem, potentially leading to kernel hangs under certain conditions. It is crucial for users to update their systems promptly to mitigate this vulnerability. Additionally, understanding the workaround can help maintain system stability until a proper fix is applied.
See every vulnerability recorded for linux →
FAQ
CVE-2024-41082 is a vulnerability in the Linux kernel's NVMe subsystem that can cause the kernel to hang due to command tag exhaustion.
If your system issues too many NVMe commands simultaneously, it may lead to a kernel hang, affecting system stability and performance.
The vulnerability affects Linux packages in Debian 11, 12, and 13. Users should check their specific version for updates.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without any signup.
As a temporary measure, consider implementing the workaround of using reserved tags for NVMe register commands until you can perform a full update.
Related vulnerabilities
Recent vulnerabilities recorded for linux.