Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-46135

nvmet-tcp: fix race between ICReq handling and queue teardown
Back to all
CVE

CVE-2026-46135

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

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

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

nvmettcphandle_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, nvmettcpschedulereleasequeue()

sets queue->state to NVMETTCPQ_DISCONNECTING and drops the queue

reference under state_lock.

If iowork later processes that ICReq, nvmettcphandleicreq() can

still overwrite the state back to NVMETTCPQ_LIVE. That defeats the

DISCONNECTING-state guard in nvmettcpschedulereleasequeue() 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 NVMETTCPQ_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

nvmettcpsocketerror() setting rcvstate to NVMETTCPRECV_ERR before

honoring that sentinel so receive-side parsing stays quiesced until the

existing release path completes.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
9.8
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://git.kernel.org/stable/c/49891c8fe0cb43fbbe480da1cdccfbbaeb820cb3, https://git.kernel.org/stable/c/5293a8882c549fab4a878bc76b0b6c951f980a61, https://git.kernel.org/stable/c/5f0b95ef68ab9afba75b20eebf436130f80c161a, https://git.kernel.org/stable/c/67e1aaf93b495c2f10bc8a5fbba575fbb7f449b6, https://git.kernel.org/stable/c/6f96dea4819d122737b217ea16660d255abbf8c6, https://git.kernel.org/stable/c/9c63cf80895a70eb4fcfcaa725bb1ac9ae76f02b, https://git.kernel.org/stable/c/b7dd4d27aa70bd98bb10572310e913668baf6a65, https://git.kernel.org/stable/c/dcfe4d1f7960e7d1c01642318f3aae1a604f8508, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46135.json, https://nvd.nist.gov/vuln/detail/CVE-2026-46135, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Severity

9.8

CVSS Score
0
10

Basic Information

Base CVSS
9.8
EPSS Probability
0.00397%
EPSS Percentile
0.33162%
Introduced Version
872d26a391da92ed8f0c0f5cb5fef428067b7f30,5.0.0,5.11.0,5.16.0,6.2.0,6.7.0,6.13.0,6.19.0,0
Fix Available
5293a8882c549fab4a878bc76b0b6c951f980a61,5.10.261,5.15.212,6.1.178,6.6.144,6.12.88,6.18.30,7.0.7,0:5.14.0-687.17.1.el9_8,0:4.18.0-553.136.1.el8_10,0:4.18.0-553.136.1.rt7.477.el8_10,6.1.180-1,5.10.262-1,6.1.180-1~deb11u1,6.12.88-1,5.4.0-1161.172~18.04.1,5.4.0-1166.172~18.04.1,5.4.0-1164.173~18.04.1,5.4.0-233.253~18.04.1,5.4.0-1107.112~18.04.1,5.4.0-1159.169~18.04.1,5.4.0-1144.157~18.04.1,5.4.0-233.253,5.4.0-1161.172,5.15.0-1111.118~20.04.1,5.4.0-1166.172,5.15.0-1116.125~20.04.1,5.4.0-1120.127,5.4.0-1164.173,5.15.0-1111.121~20.04.1,5.15.0-185.195~20.04.1,5.4.0-1107.112,5.15.0-1105.109~20.04.1,5.15.0-1106.112~20.04.1,5.4.0-1065.68,5.15.0-183.193~20.04.1,5.15.0-1063.63~20.04.1,5.4.0-1159.169,5.15.0-1108.114~20.04.1,5.4.0-1144.157,5.4.0-1079.83,6.8.0-134.134,6.8.0-1060.63,6.17.0-1019.19~24.04.1,6.8.0-1063.71,6.17.0-1021.21~24.04.1,6.8.0-1062.69,6.8.0-1063.69,6.17.0-1020.22~24.04.1,6.8.0-1058.64,6.8.0-1045.48,6.17.0-40.40~24.04.1,7.0.0-28.28~24.04.1,6.8.0-1060.61,6.8.0-134.134.1,6.8.0-1058.61,6.17.0-1026.26,6.8.0-1058.61.1,6.8.0-1029.30,6.17.0-1028.28,6.8.0-1057.58,6.17.0-1018.18~24.04.1,6.8.0-1060.64,6.8.0-1032.33,5.15.0-185.195,5.15.0-1111.118,6.8.0-1060.63~22.04.1,5.15.0-1116.125,6.8.0-1063.71~22.04.1,6.8.0-1062.69~22.04.1,5.15.0-1111.121,6.8.0-1063.69~22.04.1,5.15.0-1107.113,5.15.0-1094.102,6.8.0-136.136~22.04.1,5.15.0-1105.109,6.8.0-1060.61~22.04.1,5.15.0-1106.112,5.15.0-1103.108,5.15.0-183.193,6.8.0-134.134.1~22.04.1,5.15.0-1106.107,6.8.0-1058.61~22.04.1,5.15.0-1063.63,5.15.0-1052.52,5.15.0-1108.114,6.8.0-1057.58~22.04.1,5.15.0-1105.108,6.8.0-134.134~22.04.1,5.15.0-1074.78,0:5.10.262-262.1063.amzn2,0:1.0-0.amzn2

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading