CVE-2024-46737: nvmet-tcp: fix kernel crash if commands allocation fails
In the Linux kernel, the following vulnerability has been resolved:
nvmet-tcp: fix kernel crash if commands allocation fails
If the commands allocation fails in nvmet_tcp_alloc_cmds()
the kernel crashes in nvmet_tcp_release_queue_work() because of
a NULL pointer dereference.
nvmet: failed to install queue 0 cntlid 1 ret 6
Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000008
Fix the bug by setting queue->nr_cmds to zero in case
nvmet_tcp_alloc_cmd() fails.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel crash bug in the NVMe over TCP target code. If command allocation fails while setting up a queue, cleanup can dereference a null pointer and crash the kernel. Business impact is availability loss on affected systems, especially storage servers using NVMe/TCP target functionality.
Executive priority
Prioritize patching on storage infrastructure or hosts exposing NVMe/TCP target services. For ordinary Linux servers without this feature, handle through normal kernel maintenance unless new vendor evidence indicates broader exploitability.
Technical view
The vulnerable path is in nvmet-tcp. When nvmet_tcp_alloc_cmds() fails, nvmet_tcp_release_queue_work() can later access invalid queue command state, causing a NULL pointer dereference. The documented fix sets queue->nr_cmds to zero when nvmet_tcp_alloc_cmd() fails, preventing cleanup from walking unallocated commands.
Likely exposure
Exposure is likely limited to Linux systems running affected kernel versions with NVMe/TCP target support enabled or in use. General Linux hosts not using nvmet-tcp are less likely to be reachable through this bug, based on the source description.
Exploitation context
The source bundle does not show KEV listing, active exploitation, public exploit details, CVSS, or CWE data. The described outcome is a kernel crash after allocation failure, so treat this primarily as a denial-of-service risk unless vendor advisories add more detail.
Researcher notes
Evidence supports a cleanup-state bug, not a full exploitation narrative. Affected-version data in the bundle is broad and commit-oriented, so validate against vendor kernel package metadata rather than raw upstream version strings alone.
Mitigation direction
Apply Linux kernel updates containing the referenced stable nvmet-tcp fixes.
Use distribution kernel packages that include the CVE-2024-46737 fix.
Review Debian LTS advisories if operating affected Debian LTS kernels.
Restrict NVMe/TCP target exposure to trusted storage networks where applicable.
Check vendor guidance for any environment-specific workaround or backport status.
Validation and detection
Inventory Linux kernel versions across storage and virtualization hosts.
Identify systems with NVMe/TCP target functionality enabled or loaded.
Review kernel package changelogs for CVE-2024-46737 or referenced stable commits.
Check logs for nvmet queue setup failures and NULL dereference crashes.
Confirm patched systems run fixed vendor kernel builds after maintenance.
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-46737 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.