Skip to main content
← All vulnerabilities
CVE-2026-98367

RDMA/siw: Clear association under lock if siw_qp_modify fails in siw_accept

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in f11e09fe2fc3a11ccdf8f932b68181b0bb1d2078; From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in e3f039082856adab7e195dea1af45d93dd6a3f1c; From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in ad50d19f3d1ce052b3a146143581e930a1efb33e; From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in 030306bbb9273af80f14d7af20129661964cd9a7; From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in df2584750314336edcbcc21fb388e04b260f35b7; From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in 9dcc0f4e488b70cff81e0e5717a498c929cf5de3; From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in bfdc744bf20ae4c3ef2e470298de5237c5c9a13c; From 6c52fdc244b5ccc468006fd65a504d4ee33743c7 · fixed in 32cd87f54dd1070020e664ccb0312a9f0fea79b4

  • Linux Linux

    5.3

  • KernelLinux

    From 5.3.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8

References 8

git.kernel.org