CVE-2024-42152: nvmet: fix a possible leak when destroy a ctrl during qp establishment
In the Linux kernel, the following vulnerability has been resolved:
nvmet: fix a possible leak when destroy a ctrl during qp establishment
In nvmet_sq_destroy we capture sq->ctrl early and if it is non-NULL we
know that a ctrl was allocated (in the admin connect request handler)
and we need to release pending AERs, clear ctrl->sqs and sq->ctrl
(for nvme-loop primarily), and drop the final reference on the ctrl.
However, a small window is possible where nvmet_sq_destroy starts (as
a result of the client giving up and disconnecting) concurrently with
the nvme admin connect cmd (which may be in an early stage). But *before*
kill_and_confirm of sq->ref (i.e. the admin connect managed to get an sq
live reference). In this case, sq->ctrl was allocated however after it was
captured in a local variable in nvmet_sq_destroy.
This prevented the final reference drop on the ctrl.
Solve this by re-capturing the sq->ctrl after all inflight request has
completed, where for sure sq->ctrl reference is final, and move forward
based on that.
This issue was observed in an environment with many hosts connecting
multiple ctrls simoutanuosly, creating a delay in allocating a ctrl
leading up to this race window.
Security readout for executives and security teams
Plain-English summary
A Linux NVMe target bug can leak a controller reference during a connection setup and disconnect race. Under heavy multi-host NVMe controller churn, affected systems may fail to release resources. The bundle provides upstream stable fixes but no CVSS score or active exploitation evidence; urgency depends on whether NVMe target services are used.
Executive priority
Treat as a targeted infrastructure maintenance issue. Prioritize storage servers that provide NVMe target services, especially at scale. The business risk is mainly service reliability from leaked resources, with no source-backed evidence of active exploitation or critical impact.
Technical view
The issue is in Linux kernel nvmet_sq_destroy handling. sq->ctrl was captured too early while an admin connect request could allocate the controller later but before inflight requests completed. That race could skip the final controller reference drop. The fix re-captures sq->ctrl after request completion before cleanup decisions.
Likely exposure
Exposure is likely limited to Linux systems using the NVMe target subsystem, especially environments with many hosts connecting multiple controllers simultaneously. General Linux hosts not acting as NVMe targets are less likely to be affected based on the provided description.
Exploitation context
The source bundle says KEV is false and provides no cited active exploitation. The observed condition involved many hosts connecting multiple controllers simultaneously, increasing allocation delay and exposing the race. Evidence supports a resource leak risk, not confirmed code execution or weaponized exploitation.
Researcher notes
The key race is between nvmet_sq_destroy and early admin connect processing. Validate by code review or patched-kernel provenance rather than offensive reproduction. Version data in the bundle is incomplete and should be reconciled with distribution advisories before declaring systems unaffected.
Mitigation direction
Apply Linux kernel or distribution updates containing the referenced stable fixes.
Check vendor advisories for exact fixed package versions in your distribution.
Prioritize NVMe target servers with high connection churn.
Review Debian LTS guidance if running Debian LTS kernels.
Validation and detection
Inventory systems using the Linux NVMe target subsystem.
Compare running kernel builds against vendor fixed versions and stable commits.
Check logs and telemetry for abnormal NVMe target connection churn.
Confirm updated kernels include the nvmet_sq_destroy cleanup fix.
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.
cve · low confidence lookup
CVE-2024-42152 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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.