Skip to main content

CVE-2024-26846: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-26846cvecve-2024-26846
Published: Wed Apr 17 2024 (04/17/2024, 10:10:09 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: nvme-fc: do not wait in vain when unloading module The module exit path has race between deleting all controllers and freeing 'left over IDs'. To prevent double free a synchronization between nvme_delete_ctrl and ida_destroy has been added by the initial commit. There is some logic around trying to prevent from hanging forever in wait_for_completion, though it does not handling all cases. E.g. blktests is able to reproduce the situation where the module unload hangs forever. If we completely rely on the cleanup code executed from the nvme_delete_ctrl path, all IDs will be freed eventually. This makes calling ida_destroy unnecessary. We only have to ensure that all nvme_delete_ctrl code has been executed before we leave nvme_fc_exit_module. This is done by flushing the nvme_delete_wq workqueue. While at it, remove the unused nvme_fc_wq workqueue too.

AI-Powered Analysis

AILast updated: 06/29/2025, 19:25:49 UTC

Technical Analysis

CVE-2024-26846 is a medium-severity vulnerability in the Linux kernel specifically affecting the nvme-fc (NVMe over Fibre Channel) module. The issue arises from a race condition during the module unload process, where there is a conflict between deleting all NVMe controllers and freeing leftover ID allocations. This race can lead to a double free or a hang during module unload. The root cause is that the module exit path does not properly synchronize the deletion of controllers (nvme_delete_ctrl) and the destruction of ID allocations (ida_destroy). The original fix attempted to prevent indefinite waiting in wait_for_completion calls, but some cases, such as those reproducible by blktests, still caused the module unload to hang indefinitely. The final resolution involves relying solely on the cleanup code executed from the nvme_delete_ctrl path to free all IDs, making the explicit ida_destroy call unnecessary. To ensure safe module unload, the fix flushes the nvme_delete_wq workqueue to guarantee all deletion work has completed before exit. Additionally, an unused workqueue (nvme_fc_wq) was removed to simplify the code. This vulnerability is classified under CWE-415 (Double Free) and has a CVSS 3.1 base score of 4.4, indicating a medium impact. The attack vector is local (AV:L), requiring low attack complexity (AC:L) but high privileges (PR:H) and no user interaction (UI:N). The impact affects availability (A:H) but not confidentiality or integrity. No known exploits are reported in the wild at this time. The affected Linux kernel versions are identified by specific commit hashes, indicating this is a recent and targeted fix in the kernel source code.

Potential Impact

For European organizations, the primary impact of CVE-2024-26846 is on system availability and stability, particularly for systems utilizing NVMe over Fibre Channel storage. This vulnerability can cause the Linux kernel module to hang indefinitely during unload operations, potentially leading to system freezes or denial of service conditions on affected hosts. Organizations running enterprise storage solutions or virtualization platforms that rely on NVMe-FC may experience disruptions during kernel module reloads or updates. Although the vulnerability does not compromise confidentiality or integrity, the availability impact could affect critical infrastructure, data centers, and cloud service providers. In environments with high uptime requirements, such as financial institutions, healthcare providers, and industrial control systems, unexpected hangs could lead to operational downtime and service interruptions. Since exploitation requires local high privileges, the risk is mitigated by proper access controls; however, insider threats or compromised privileged accounts could trigger the issue. The lack of known exploits reduces immediate risk, but unpatched systems remain vulnerable to stability issues.

Mitigation Recommendations

1. Apply the official Linux kernel patches that address CVE-2024-26846 as soon as they become available from trusted sources or vendor distributions. 2. Ensure that all Linux systems using NVMe over Fibre Channel modules are updated to kernel versions containing the fix to prevent hangs during module unload. 3. Limit privileged access to trusted administrators only, reducing the risk of local exploitation by unauthorized users. 4. Monitor system logs and kernel messages for signs of module unload hangs or related errors to detect potential issues early. 5. For environments where module unloading is frequent (e.g., during updates or testing), schedule maintenance windows to minimize impact if hangs occur. 6. Consider implementing kernel live patching solutions where available to reduce downtime associated with kernel updates. 7. Validate storage and virtualization infrastructure compatibility with patched kernels before deployment to avoid regression. 8. Maintain robust backup and recovery procedures to mitigate availability impacts in case of system hangs or crashes.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-02-19T14:20:24.182Z
Cisa Enriched
true
Cvss Version
3.1
State
PUBLISHED

Threat ID: 682d982bc4522896dcbe3d65

Added to database: 5/21/2025, 9:08:59 AM

Last enriched: 6/29/2025, 7:25:49 PM

Last updated: 8/7/2025, 10:52:39 AM

Views: 12

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats