Security Resilience

CVE-2026-46135

Race Condition in Linux Kernel 5.0 – 6.12.88

Published
28 May 2026
Modified
16 October 2026
Patch / advisory
CVSS Score v3.1 9.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0040 32th percentile
Risk Priority 72 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-46135 is a critical-severity Race Condition (CWE-362) vulnerability in Linux Linux Kernel. Its CVSS base score is 9.8 (Critical).

Operationally, ranked at the 32th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SC-39 (Process Isolation) and SC-4 (Information in Shared System Resources) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

CVEs Like This One

CVE-2026-64043Same product: Linux Linux Kernel
CVE-2024-46734Same product: Linux Linux Kernel
CVE-2023-53490Same product: Linux Linux Kernel
CVE-2023-52578Same product: Linux Linux Kernel
CVE-2024-26708Same product: Linux Linux Kernel
CVE-2024-39508Same product: Linux Linux Kernel
CVE-2023-53204Same product: Linux Linux Kernel
CVE-2023-23039Same product: Linux Linux Kernel
CVE-2025-39905Same product: Linux Linux Kernel
CVE-2023-53345Same product: Linux Linux Kernel

Affected Assets

linux
linux kernel
7.1 · 5.0 — 6.12.88 · 6.13 — 6.18.30 · 6.19 — 7.0.7

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Maintaining separate execution domains for each process structurally eliminates unintended concurrent access to the same shared resources.

Preventing unintended information transfer through shared system resources directly addresses the improper concurrent modification that defines a race condition.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

A.8.25 mandates secure SDLC practices (secure coding guidelines, security requirements, checkpoints, testing including code scans/penetration tests, developer training) that reach race conditions in concurrent code, but only as one slice of a broad requirement whose implementation scope and rigour are left to the organisation.

blocks

A.8.26 explicitly lists resilience against malicious attacks including SQL injections and input validation as application security requirements to identify/address; race conditions are a similar class of timing-based concurrency flaw that can be mitigated by requirements for proper synchronization/locking, but this is only one slice of the broad CWE-362 class (most instances arise in low-level shared-memory or TOCTOU scenarios not named here).

blocks

Secure architecture principles require proper synchronization and resource isolation, addressing the root cause of CWE-362.

prevents

Secure coding standards explicitly forbid unsafe concurrent access patterns and mandate atomic operations or locks.

finds

Security testing can detect race conditions, but does not prevent them at design or coding time.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-362, a class-level weakness, and none of its children carries one either.

References