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

Published May 28, 2026
·
Updated

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

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

nvmettcphandleicreq() 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 iowork drains the already buffered ICReq. In that case, nvmettcpschedulereleasequeue() sets queue->state to NVMETTCPQDISCONNECTING and drops the queue reference under statelock.

If iowork later processes that ICReq, nvmettcphandleicreq() can still overwrite the state back to NVMETTCPQLIVE. That defeats the DISCONNECTING-state guard in nvmettcpschedulereleasequeue() and allows a later socket state change to re-enter teardown and issue a second krefput() 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 NVMETTCPQFAILED, again reopening the window for a second teardown path to drop the queue reference.

Fix this by serializing both post-send state transitions with statelock 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 NVMETTCPRECVERR before honoring that sentinel so receive-side parsing stays quiesced until the existing release path completes.

Affected Software

7 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=5.0<6.12.88
Linux Linux kernel>=6.13<6.18.30
Linux Linux kernel>=6.19<7.0.7
Linux Linux kernel=7.1-rc1
debian/linux<=5.10.223-1, <=6.1.176-1
5.10.262-16.1.180-16.12.94-16.12.101-17.1.7-17.1.8-1
debian/linux-6.1
6.1.180-1~deb11u1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.262-1Fixed in 6.1.180-1Fixed in 6.12.94-1Fixed in 6.12.101-1Fixed in 7.1.7-1Fixed in 7.1.8-1
  2. Upgrade

    Upgrade debian/linux-6.1 to a version that resolves this vulnerability.

    Fixed in 6.1.180-1~deb11u1

Event History

May 28, 2026
CVE Published
via MITRE·09:35 AM
Data Sourced
via MITRE·09:35 AM
DescriptionSeverity
Data Sourced
via NVD·10:16 AM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via Red Hat·11:07 AM
DescriptionSeverityAffected Software
Aug 7, 2026
Data Sourced
via Ubuntu·07:16 AM
RemedyDescriptionSeverityAffected Software
Aug 13, 2026
Data Sourced
via Debian·07:21 AM
DescriptionAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-46135?

CVE-2026-46135 is rated as critical with a severity score of 9.8.

2

How do I fix CVE-2026-46135?

To fix CVE-2026-46135, update the Linux kernel to the latest patched version provided by the vendor.

3

What types of systems are affected by CVE-2026-46135?

CVE-2026-46135 affects systems running the Linux kernel with nvmet-tcp functionality.

4

What could happen if CVE-2026-46135 is exploited?

Exploitation of CVE-2026-46135 could lead to a denial of service or potential data corruption due to race conditions.

5

Is CVE-2026-46135 remote exploitable?

Yes, CVE-2026-46135 is remotely exploitable due to its nature of affecting network handling.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203