CVE-2026-46135
CriticalCVSS 9.8Exploitation Probability (EPSS)
Low risk28th percentile - higher than 28% of all known CVEs
Summary
A race condition was found in the Linux kernel's NVMe/TCP driver (nvmet-tcp) between ICReq handling and queue teardown. Lack of synchronization allows overwriting the queue state, leading to a double kref_put and potential memory corruption.
Risk Assessment
The organization risks system crashes or undefined kernel behavior if an NVMe/TCP host sends an ICReq and immediately closes the connection. This can disrupt NVMe-oF storage services.
Recommendation
Apply the kernel security patch that serializes queue state transitions with state_lock immediately. Update to a kernel version containing the fix commit.
Other vulnerabilities in Linux kernel
See all- CVE-2026-98372Unknown
A vulnerability in the Linux kernel's xfrm IP-TFS module allows an out-of-bounds stack read in iptfs_skb_reset_frag_walk() due to missing fragment index validation. A crafted AGGFRAG packet can trigger this, causing a system crash or potential information leak.
- CVE-2026-98371Unknown
In the Linux kernel, a flaw in xfrm/iptfs handling of inner packet fragmentation occurs when the start of an inner packet is split across two outer packets such that fewer than 4 bytes land at the end of the first one. This bypasses IP header length validation, leading to a buffer overflow and kernel panic (DoS).
- CVE-2026-98370Unknown
In the Linux kernel, a use-after-free vulnerability was fixed in xfrm_state_netlink() when handling ALLOCSPI requests. xfrm_alloc_userspi() calls alloc_compat() again, but passes the original request skb and its header, which for compat requests causes the 228-byte compat xfrm_userspi_info to be interpreted as the 232-byte native layout and reads four bytes past the declared payload. A multicast clone of the request shares skb_shared_info and can observe that child, and xfrm_user_rcv_msg() frees it after the request handler returns, leading to a race and use-after-free.
- CVE-2026-98369Unknown
A bug was fixed in the Linux kernel xfrm subsystem where xfrm_trans_reinject(), after being converted from a tasklet to a workqueue, ran in process context without an RCU read lock. This caused suspicious RCU usage warnings and potential validity issues for dst and netdevice references of packets queued through the workqueue.
- CVE-2026-98368Unknown
A vulnerability in the Linux kernel's ESP (IPsec) implementation was found on the out-of-place output path, where the skb frag array was mutated without downgrading managed zerocopy frags (SKBFL_MANAGED_FRAG_REFS). This breaks the managed-frag invariant, potentially leading to use-after-free of zerocopy pages and memory leaks.
- CVE-2026-98367Unknown
In the Linux kernel, a vulnerability was fixed in the RDMA/siw driver in siw_accept(). If siw_qp_modify() fails, the QP's state_lock is released before error path cleanup, allowing a concurrent ibv_modify_qp() to transition the QP to ERROR and free the cep structure, leading to use-after-free. The fix clears qp->cep and drops the association reference under the held write lock.
- CVE-2026-98366Unknown
In the Linux kernel's RDMA/rxe subsystem, a vulnerability exists where rxe_rereg_user_mr() reassigns the PD pointer before validating access flags. If validation fails, the MR remains in an inconsistent state, leading to a use-after-free of the PD memory.
- CVE-2026-98365Unknown
In the Linux kernel RDMA/rxe subsystem, mr_check_range() has an integer overflow vulnerability that allows a remote unauthenticated client to bypass memory range validation and trigger out-of-bounds access, causing a kernel oops. The fix rewrites the check in an overflow-safe form, returning -EINVAL for crafted requests.
- CVE-2026-98364Unknown
In the Linux kernel xfrm subsystem, during bundle creation, a missing reference to net_device leads to a use-after-free when a concurrent interface deletion occurs. The fix reads dst->dev via dst_dev_rcu() and keeps the RCU read-side critical section active until xfrm_fill_dst() takes the required references.
- CVE-2026-98363Unknown
In the Linux kernel firmware arm_scpi subsystem, scpi_dvfs_get_info() does not check the upper bound of the OPP count read from SCP firmware, which can lead to out-of-bounds read and incorrect sizing of the allocated OPP table. The fix rejects both zero and too-large OPP counts, returning -EINVAL.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

