CVE-2024-42152

nvmet: fix a possible leak when destroy a ctrl during qp establishment

MEDIUM
4.7
CVSS Score
Published: July 30, 2024 at 07:46 AM UTC
Updated: August 5, 2026 at 12:04 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM4.7
Exploit prediction
EPSS 0.7%
SSVC
No known exploit

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.8 ≤ v < 5.10.2225.11 ≤ v < 5.15.1635.16 ≤ v < 6.1.985.6 ≤ v < 5.10.2225.6 ≤ v < 5.15.1635.6 ≤ v < 6.1.985.6 ≤ v < 6.105.6 ≤ v < 6.6.395.6 ≤ v < 6.9.96.2 ≤ v < 6.6.396.7 ≤ v < 6.9.90f5be6a4ff7b3f8bf3db15f904e3e76797a43d9a6.10 rc1
Vendor states this is fixed in 2f3c22b1d3d7e86712253244797a651998c141fa (fixed)
Vendor states this is fixed in 5502c1f1d0d7472706cc1f201aecf1c935d302d1 (fixed)
Vendor states this is fixed in 818004f2a380420c19872171be716174d4985e33 (fixed)
Vendor states this is fixed in 940a71f08ef153ef807f751310b0648d1fa5d0da (fixed)
Vendor states this is fixed in b4fed1443a6571d49c6ffe7d97af3bbe5ee6dff5 (fixed)
Vendor states this is fixed in c758b77d4a0a0ed3a1292b3fd7a2aeccd1a169a4 (fixed)
Vendor states this is fixed in 5.10.222 (unaffected)
Vendor states this is fixed in 5.15.163 (unaffected)
Vendor states this is fixed in 5.6 (unaffected)
Vendor states this is fixed in 6.1.98 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.39 (unaffected)
Vendor states this is fixed in 6.9.9 (unaffected)

References (7)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2f3c22b1d3d7e86712253244797a651998c141fa
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5502c1f1d0d7472706cc1f201aecf1c935d302d1
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/818004f2a380420c19872171be716174d4985e33
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/940a71f08ef153ef807f751310b0648d1fa5d0da
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b4fed1443a6571d49c6ffe7d97af3bbe5ee6dff5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c758b77d4a0a0ed3a1292b3fd7a2aeccd1a169a4
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
HIGH
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-401

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card