CVE-2024-26846: nvme-fc: do not wait in vain when unloading module
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.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue can make systems hang during unloading of the NVMe over Fibre Channel module. It affects availability, not data confidentiality or integrity. Exploitation requires local high privileges, so business urgency is mainly for environments using NVMe-FC where maintenance, driver reloads, or kernel module operations could disrupt service.
Executive priority
Treat as a targeted availability risk for Linux storage infrastructure, not an internet-scale emergency. Patch through normal kernel maintenance, with higher priority for NVMe-FC production systems where a maintenance hang could extend outages.
Technical view
The nvme-fc module exit path had a race between controller deletion and ID cleanup. The fix removes unnecessary ida_destroy cleanup, relies on nvme_delete_ctrl cleanup, flushes nvme_delete_wq before module exit, and removes an unused workqueue. CVSS is 4.4 with local, high-privilege, availability-only impact.
Likely exposure
Exposure is most likely on Linux systems using the nvme-fc driver for NVMe over Fibre Channel, especially where privileged users or automation unload kernel modules. General Linux hosts not using nvme-fc are less likely to be exposed.
Exploitation context
The provided sources do not show active exploitation, and KEV is false. The described failure is reproducible by testing and causes a hang during module unload. It requires local high privileges, limiting attacker reach but still posing operational availability risk.
Researcher notes
The record maps to CWE-415, but the observable operational concern is a module unload hang from cleanup synchronization. Affected-version evidence is limited to the CVE bundle and kernel stable commits; validate against distribution backports rather than upstream version strings alone.
Mitigation direction
Apply Linux kernel or distribution updates containing the nvme-fc stable fixes.
Prioritize storage hosts using NVMe over Fibre Channel.
Follow vendor or distribution advisories for exact fixed package versions.
Restrict module unload capability to trusted administrators and controlled automation.
Avoid unnecessary nvme-fc module unloads on production systems until patched.
Validation and detection
Inventory Linux kernel versions across storage and virtualization hosts.
Check whether the nvme-fc module is present, loaded, or operationally required.
Confirm vendor changelogs mention CVE-2024-26846 or the referenced stable commits.
Test kernel updates in staging before production rollout.
Review maintenance automation for nvme-fc unload or driver reload operations.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-415: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.