nvmet: fix a possible leak when destroy a ctrl during qp establishment
Summary
| CVE | CVE-2024-42152 |
|---|---|
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2024-07-30 08:15:06 UTC |
| Updated | 2026-08-04 11:19:38 UTC |
| Description | 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. |
Risk And Classification
Primary CVSS: v3.1 4.7 MEDIUM from [email protected]
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Problem Types: CWE-401
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Primary | 4.7 | MEDIUM | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Secondary | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | CNA | DECLARED | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
CVSS v3.1 Breakdown
Attack Vector
LocalAttack Complexity
HighPrivileges Required
LowUser Interaction
NoneScope
UnchangedConfidentiality
NoneIntegrity
NoneAvailability
HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Operating System | Linux | Linux Kernel | All | All | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Linux | affected 0f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a 2f3c22b1d3d7e86712253244797a651998c141fa git | Not specified |
| CNA | Linux | Linux | affected 0f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a b4fed1443a6571d49c6ffe7d97af3bbe5ee6dff5 git | Not specified |
| CNA | Linux | Linux | affected 0f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a 940a71f08ef153ef807f751310b0648d1fa5d0da git | Not specified |
| CNA | Linux | Linux | affected 0f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a 5502c1f1d0d7472706cc1f201aecf1c935d302d1 git | Not specified |
| CNA | Linux | Linux | affected 0f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a 818004f2a380420c19872171be716174d4985e33 git | Not specified |
| CNA | Linux | Linux | affected 0f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a c758b77d4a0a0ed3a1292b3fd7a2aeccd1a169a4 git | Not specified |
| CNA | Linux | Linux | affected 5.6 | Not specified |
| CNA | Linux | Linux | unaffected 5.6 semver | Not specified |
| CNA | Linux | Linux | unaffected 5.10.222 5.10.* semver | Not specified |
| CNA | Linux | Linux | unaffected 5.15.163 5.15.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.1.98 6.1.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.6.39 6.6.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.9.9 6.9.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.10 * original_commit_for_fix | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| git.kernel.org/stable/c/818004f2a380420c19872171be716174d4985e33 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/5502c1f1d0d7472706cc1f201aecf1c935d302d1 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/2f3c22b1d3d7e86712253244797a651998c141fa | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/b4fed1443a6571d49c6ffe7d97af3bbe5ee6dff5 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/c758b77d4a0a0ed3a1292b3fd7a2aeccd1a169a4 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| lists.debian.org/debian-lts-announce/2025/01/msg00001.html | af854a3a-2127-422b-91ae-364da2661108 | lists.debian.org | |
| git.kernel.org/stable/c/940a71f08ef153ef807f751310b0648d1fa5d0da | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.