CVE-2026-46135

CriticalCVSS 9.8/10Last modified Oct 19, 2026

Description

In the Linux kernel, the following vulnerability has been resolved:

nvmet-tcp: fix race between ICReq handling and queue teardown

nvmet_tcp_handle_icreq() updates queue->state after sending an Initialization Connection Response (ICResp), but it does so without serializing against target-side queue teardown.

If an NVMe/TCP host sends an Initialization Connection Request (ICReq) and immediately closes the connection, target-side teardown may start in softirq context before io_work drains the already buffered ICReq. In that case, nvmet_tcp_schedule_release_queue() sets queue->state to NVMET_TCP_Q_DISCONNECTING and drops the queue reference under state_lock.

If io_work later processes that ICReq, nvmet_tcp_handle_icreq() can still overwrite the state back to NVMET_TCP_Q_LIVE. That defeats the DISCONNECTING-state guard in nvmet_tcp_schedule_release_queue() and allows a later socket state change to re-enter teardown and issue a second kref_put() on an already released queue.

The ICResp send failure path has the same problem. If teardown has already moved the queue to DISCONNECTING, a send error can still overwrite the state with NVMET_TCP_Q_FAILED, again reopening the window for a second teardown path to drop the queue reference.

Fix this by serializing both post-send state transitions with state_lock and bailing out if teardown has already started.

Use -ESHUTDOWN as an internal sentinel for that bail-out path rather than propagating it as a transport error like -ECONNRESET. Keep nvmet_tcp_socket_error() setting rcv_state to NVMET_TCP_RECV_ERR before honoring that sentinel so receive-side parsing stays quiesced until the existing release path completes.

Metrics

CVSS 3.1 9.8/10CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Weakness enumeration

Affected software

Source: the vendor's advisory (CNA). NVD analysis pending.

VendorProductVersions
LinuxLinux>= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < b7dd4d27aa70bd98bb10572310e913668baf6a65; >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < 9c63cf80895a70eb4fcfcaa725bb1ac9ae76f02b; >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < 6f96dea4819d122737b217ea16660d255abbf8c6; >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < 5f0b95ef68ab9afba75b20eebf436130f80c161a; >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < 49891c8fe0cb43fbbe480da1cdccfbbaeb820cb3; >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < 67e1aaf93b495c2f10bc8a5fbba575fbb7f449b6; >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < dcfe4d1f7960e7d1c01642318f3aae1a604f8508; >= 872d26a391da92ed8f0c0f5cb5fef428067b7f30, < 5293a8882c549fab4a878bc76b0b6c951f980a61
LinuxLinux5.0

References

Timeline

Published
May 28, 2026
Last modified
Oct 19, 2026
NVD status
Undergoing Analysis

Related CVEs from 2026

CVE-2026-461367.8In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7921: fix a potential clc buffer length underflow The buCVE-2026-461379.8In the Linux kernel, the following vulnerability has been resolved: mptcp: pm: ADD_ADDR rtx: fix potential data-race This mptcp_pm_add_timCVE-2026-461388.1In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: Fix OOB read and infinite loop in hci_le_create_bCVE-2026-461395.5In the Linux kernel, the following vulnerability has been resolved: smb: client: use kzalloc to zero-initialize security descriptor buffer CVE-2026-46146.3A vulnerability was determined in itsourcecode sanitize or validate this input 1.0. This issue affects some unknown processing of the file /CVE-2026-461407.1In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btmtk: validate WMT event SKB length before struct access bCVE-2026-461415.5In the Linux kernel, the following vulnerability has been resolved: powerpc/xive: fix kmemleak caused by incorrect chip_data lookup The kmCVE-2026-461425.5In the Linux kernel, the following vulnerability has been resolved: net: libwx: fix VF illegal register access Register WX_CFG_PORT_ST is CVE-2026-461435.5In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6apm-lpass-dai: Fix multiple graph opens As prepare can bCVE-2026-461445.5In the Linux kernel, the following vulnerability has been resolved: RDMA/mana: Fix error unwind in mana_ib_create_qp_rss() Sashiko points CVE-2026-461457.8In the Linux kernel, the following vulnerability has been resolved: RDMA/mana: Validate rx_hash_key_len Sashiko points out that rx_hash_keCVE-2026-461465.5In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Avoid potential endless loop in convert_chmap_v3() Th
CVE-2026-46135: Critical severity, CVSS 9.8 | Vulnix