← Back to search

CVE-2026-98367

7.8 HIGH

Published 2026-10-06 · Updated 2026-10-07

AI risk analysis

Summary
The Linux kernel's RDMA/siw implementation has a race condition where the connection endpoint (cep) reference is not properly cleared under a lock when QP modification fails during acceptance. This can lead to use-after-free conditions when concurrent operations try to modify the QP state, potentially allowing attackers to corrupt memory or escalate privileges.
Exploitability
Exploitation requires concurrent access to a RDMA QP with specific timing windows, making it moderately difficult but possible with controlled network conditions and concurrent thread manipulation.
Blast radius
The vulnerability could affect systems running RDMA-enabled applications that handle concurrent QP modifications, potentially leading to kernel memory corruption or privilege escalation in high-traffic RDMA environments.
Detection
No reliable host or network indicator is derivable from the published description.
Prioritized remediation
Apply the kernel patch for Linux kernel version 6.10 or later which fixes the siw_qp_modify failure handling in siw_accept().
rdmakernelmemory-corruption

Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.

NVD description

In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Clear association under lock if siw_qp_modify fails in siw_accept We need to clear cep before release state_lock as siw_qp_llp_close and siw_qp_modify->siw_qp_llp_close did. Otherwise if siw_qp_modify() fails in siw_accept(), the QP's state_lock is released before the error path cleanup. A concurrent ibv_modify_qp() transitioning the QP to ERROR can race in this window: siw_accept() ibv_modify_qp(ERROR) ---------------------- ---------------------- siw_qp_modify() fails up_write(&qp->state_lock) down_write(&qp->state_lock) nextstate_from_idle(): if (qp->cep) siw_cep_put(qp->cep) <- frees cep qp->cep = NULL goto error cep->qp = NULL <- UAF Clear qp->cep and drop the association reference taken by siw_cep_get(), all under the write lock held from the initial down_write(&qp->state_lock). Thread B therefore sees qp->cep == NULL, skips its own put, and cannot free the cep before siw_accept() is done with it.

CVSS vector

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

All references

Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.

Related CVEs

Related by shared AI tags and CWE weakness class. Browse the full archive.