Skip to content
OpenAdvisories
High · 7.5 CVE-2024-42152 EUVD-2024-39983GHSA-ghw9-6h55-qj7v

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

Published Jul 30, 2024 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

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 products

VendorProductAffectedFixed
Linux Linux 5.6 5.10.222

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.9.9-1 —
Debian 13 linux 6.9.9-1 —
Debian 12 linux 6.1.98-1 —
Debian 11 linux 5.10.223-1 DSA-5747-1
Debian 11 linux-6.1 6.1.119-1~deb11u1 DLA-4008-1
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1052.54 —
Ubuntu 24.04 LTS linux 6.8.0-48.48 USN-7089-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1018.20 USN-7089-3
Ubuntu 24.04 LTS linux-azure 6.8.0-1017.20 USN-7089-2
Ubuntu 24.04 LTS linux-gcp +1 6.8.0-1017.19 USN-7095-1, USN-7089-2
Ubuntu 24.04 LTS linux-gke 6.8.0-1013.17 USN-7089-6
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1002.4 USN-7156-1
Ubuntu 24.04 LTS linux-ibm 6.8.0-1015.15 USN-7089-2
Ubuntu 24.04 LTS linux-lowlatency 6.8.0-48.48.3 USN-7089-7
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1017.19.1 USN-7095-1
Ubuntu 24.04 LTS linux-oem-6.8 6.8.0-1016.16 USN-7089-4
Ubuntu 24.04 LTS linux-oracle 6.8.0-1015.16 USN-7089-3
Ubuntu 24.04 LTS linux-raspi 6.8.0-1014.16 USN-7089-5
Ubuntu 24.04 LTS linux-riscv 6.8.0-48.48.1 —
Ubuntu 24.04 LTS linux-xilinx 6.8.0-1009.10 —
Ubuntu 22.04 LTS linux +1 5.15.0-121.131 USN-7007-3, USN-7007-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1069.75 USN-7007-1
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1018.19~22.04.1 USN-7089-3
Ubuntu 22.04 LTS linux-azure 5.15.0-1072.81 USN-7009-1
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1017.20~22.04.1 USN-7090-1
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1072.81.1 USN-7009-1
Ubuntu 22.04 LTS linux-gcp 5.15.0-1068.76 USN-7007-1
Ubuntu 22.04 LTS linux-gcp-6.8 +1 6.8.0-1017.19~22.04.1 USN-7095-1, USN-7089-1
Ubuntu 22.04 LTS linux-gke 5.15.0-1066.72 USN-7007-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1052.59 USN-7007-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-48.48~22.04.1 USN-7089-1
Ubuntu 22.04 LTS linux-ibm +1 5.15.0-1062.65 USN-7007-1
Ubuntu 22.04 LTS linux-ibm-6.8 +1 6.8.0-1015.15~22.04.1 USN-7089-3
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1064.70 USN-7007-1
Ubuntu 22.04 LTS linux-kvm 5.15.0-1066.71 USN-7007-1
Ubuntu 22.04 LTS linux-lowlatency-hwe-6.8 6.8.0-48.48.3~22.04.1 USN-7089-7
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1064.65 USN-7007-1
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1028.28 —
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1016.16 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1067.73 USN-7007-1
Ubuntu 22.04 LTS linux-riscv +31 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 6.8.0-48.48.1~22.04.2 —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1035.39 USN-7019-1
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1069.75~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1072.81~20.04.1 USN-7009-1
Ubuntu 20.04 LTS linux-azure-fde-5.15 5.15.0-1072.81~20.04.1.1 USN-7009-2
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1068.76~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-gke +27 No fix yet —
Ubuntu 20.04 LTS linux-gkeop-5.15 5.15.0-1052.59~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-121.131~20.04.1 USN-7007-3, USN-7007-1
Ubuntu 20.04 LTS linux-ibm-5.15 5.15.0-1062.65~20.04.1 USN-7007-2
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1064.70~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1030.30~20.04.1 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1067.73~20.04.1 USN-7007-2
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1065.69~20.04.1 —
Ubuntu 18.04 LTS linux-gcp +13 No fix yet —
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2013.14 —
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1011.11 —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1063.65 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1070.78 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1011.11~22.04.1 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-78.78+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1069.75+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1072.81+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-121.131+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1068.76+fips1 —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
ReleasePackageFixed inAdvisory
RHEL 9 bpftool 7.3.0-427.33.1.el9_4 RHSA-2024:5928
RHEL 9 rv +64 5.14.0-427.33.1.el9_4 RHSA-2024:5928
RHEL 8 kernel-rt +12 4.18.0-553.22.1.rt7.363.el8_10 RHSA-2024:7001
RHEL 8 perf +26 4.18.0-553.22.1.el8_10 RHSA-2024:7000
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 9.2 EUS bpftool 7.0.0-284.90.1.el9_2 RHSA-2024:8613
RHEL 9.2 EUS kernel-rt +14 5.14.0-284.90.1.rt14.375.el9_2 RHSA-2024:8614
RHEL 9.2 EUS perf +48 5.14.0-284.90.1.el9_2 RHSA-2024:8613

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 9 bpftool 7.3.0-427.33.1.el9_4 ALSA-2024:5928
AlmaLinux 9 rv +60 5.14.0-427.33.1.el9_4 ALSA-2024:5928
AlmaLinux 8 kernel-rt +11 4.18.0-553.22.1.rt7.363.el8_10 ALSA-2024:7001
AlmaLinux 8 perf +24 4.18.0-553.22.1.el8_10 ALSA-2024:7000

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 8 kernel 4.18.0-553.22.1.el8_10 RLSA-2024:7000
Rocky Linux 8 kernel-rt 4.18.0-553.22.1.rt7.363.el8_10 RLSA-2024:7001
ReleasePackageFixed inAdvisory
SLES 15 SP6 kernel-64kb +6 6.4.0-150600.23.22.1 SUSE-SU-2024:3383-1
SLES 15 SP6 kernel-azure +2 6.4.0-150600.8.11.1 SUSE-SU-2024:3194-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.22.1.150600.12.8.3 SUSE-SU-2024:3383-1
SLES 15 SP5 kernel-64kb +4 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.66.1 SUSE-SU-2024:3190-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
SLES 15 SP5 kernel-syms +1 5.14.21-150500.55.80.1 SUSE-SU-2024:3483-1
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLE Micro 6.0 kernel-default-base 6.4.0-17.1.1.51 SUSE-SU-2025:20044-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_2 +1 1-1.1 SUSE-SU-2025:20047-1, SUSE-SU-2025:20044-1
SLE Micro 6.0 kernel-rt +1 6.4.0-10.1 SUSE-SU-2025:20047-1
SLE Micro 6.0 kernel-source +2 6.4.0-19.1 SUSE-SU-2025:20044-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.22.1 SUSE-SU-2024:3383-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_2 1-150600.1.3.2 SUSE-SU-2024:3195-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_4 1-150600.13.3.3 SUSE-SU-2024:3383-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_19 +1 1-150500.11.3.2 SUSE-SU-2024:3483-1, SUSE-SU-2024:3209-1
SUSE Real Time Module 15 SP6 kernel-rt +2 6.4.0-150600.10.8.3 SUSE-SU-2024:3195-1
SUSE Real Time Module 15 SP6 kernel-syms-rt 6.4.0-150600.10.8.1 SUSE-SU-2024:3195-1
SUSE Real Time Module 15 SP5 kernel-rt +2 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1
SUSE Real Time Module 15 SP5 kernel-syms-rt 5.14.21-150500.13.67.1 SUSE-SU-2024:3209-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 dtb-aarch64 +10 6.4.0-150600.23.22.1 SUSE-SU-2024:3383-1
openSUSE Leap 15.6 kernel-azure +2 6.4.0-150600.8.11.1 SUSE-SU-2024:3194-1
openSUSE Leap 15.6 kernel-default-base 6.4.0-150600.23.22.1.150600.12.8.3 SUSE-SU-2024:3383-1
openSUSE Leap 15.6 kernel-rt +2 6.4.0-150600.10.8.3 SUSE-SU-2024:3195-1
openSUSE Leap 15.6 kernel-syms-rt 6.4.0-150600.10.8.1 SUSE-SU-2024:3195-1
openSUSE Leap 15.5 dtb-aarch64 +3 5.14.21-150500.55.80.1 SUSE-SU-2024:3483-1
openSUSE Leap 15.5 kernel-64kb +6 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.66.1 SUSE-SU-2024:3190-1
openSUSE Leap 15.5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
openSUSE Leap 15.5 kernel-rt +2 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1
openSUSE Leap 15.5 kernel-syms-rt 5.14.21-150500.13.67.1 SUSE-SU-2024:3209-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.5 kernel-default 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
openSUSE Leap Micro 5.5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
openSUSE Leap Micro 5.5 kernel-rt 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.43.1-7 —
Azure Linux 2 (CBL-Mariner) kernel 5.15.164.1-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 bpftool 7.3.0-427.33.1.el9_4 ELSA-2024-5928
Oracle Linux 9 rv +27 5.14.0-427.33.1.el9_4 ELSA-2024-5928
Oracle Linux 8 kernel-uek +12 5.15.0-210.163.7.el9uek ELSA-2024-12618
Oracle Linux 8 perf +19 4.18.0-553.22.1.el8_10 ELSA-2024-12618, ELSA-2024-7000

Advisories 44

References