← Back to CVE List
CVE-2026-90292NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
RDMA/siw: Fix use-after-free in siw_accept()
siw_accept() looks up the QP supplied by userspace. If that QP is
already in RTS, the function jumps to error cleanup before associating
the incoming CEP with it.
The cleanup tests whether qp->cep is non-NULL and assumes the current
call installed the association. However, qp->cep can point to the CEP
of an existing connection. The cleanup then drops a reference from the
incoming cep, not qp->cep. Once the incoming endpoint loses its
remaining references, this can free it before the subsequent cep->qp
store, causing a use-after-free. It also clears the existing QP
association.
Only release the association reference when qp->cep is the incoming
CEP. This preserves an existing association and avoids accessing the
freed endpoint.
RDMA/siw: Fix use-after-free in siw_accept()
siw_accept() looks up the QP supplied by userspace. If that QP is
already in RTS, the function jumps to error cleanup before associating
the incoming CEP with it.
The cleanup tests whether qp->cep is non-NULL and assumes the current
call installed the association. However, qp->cep can point to the CEP
of an existing connection. The cleanup then drops a reference from the
incoming cep, not qp->cep. Once the incoming endpoint loses its
remaining references, this can free it before the subsequent cep->qp
store, causing a use-after-free. It also clears the existing QP
association.
Only release the association reference when qp->cep is the incoming
CEP. This preserves an existing association and avoids accessing the
freed endpoint.
CVSS v3.1 Base Metrics — Score 7.8 (HIGH)
Attack VectorLocal
Attack ComplexityLow
Privileges RequiredLow
User InteractionNone
ScopeUnchanged
ConfidentialityHigh
IntegrityHigh
AvailabilityHigh
Affected & Patched Versions
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < d57db36e74cca4763e1c2c0c6eb9f84d19813879
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < 59de5502f32895ffe9c45530327ed997b90fdf06
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < a89d120615e711ce8fce551fd291c2f387666735
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < b9e7d3d9fdb2bfcfb25d93529fdf766536b37c78
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < 8f286a8094ee32c415f9ecd2c20765beb8a18c79
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < de603f01d9ccf823e575b013ffd86ebedca9a8c5
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < 561651d6a15588cee2040755f253faca2463415c
- Linux Linux >= 6c52fdc244b5ccc468006fd65a504d4ee33743c7 and < a9394971825933074032794a5feee5211509c774
- Linux Linux >= 5.3
- Linux Linux d57db36e74cca4763e1c2c0c6eb9f84d19813879
- Linux Linux 59de5502f32895ffe9c45530327ed997b90fdf06
- Linux Linux a89d120615e711ce8fce551fd291c2f387666735
- Linux Linux b9e7d3d9fdb2bfcfb25d93529fdf766536b37c78
- Linux Linux 8f286a8094ee32c415f9ecd2c20765beb8a18c79
- Linux Linux de603f01d9ccf823e575b013ffd86ebedca9a8c5
- Linux Linux 561651d6a15588cee2040755f253faca2463415c
- Linux Linux a9394971825933074032794a5feee5211509c774
External References
- https://git.kernel.org/stable/c/d57db36e74cca4763e1c2c0c6eb9f84d19813879
- https://git.kernel.org/stable/c/59de5502f32895ffe9c45530327ed997b90fdf06
- https://git.kernel.org/stable/c/a89d120615e711ce8fce551fd291c2f387666735
- https://git.kernel.org/stable/c/b9e7d3d9fdb2bfcfb25d93529fdf766536b37c78
- https://git.kernel.org/stable/c/8f286a8094ee32c415f9ecd2c20765beb8a18c79
- https://git.kernel.org/stable/c/de603f01d9ccf823e575b013ffd86ebedca9a8c5
- https://git.kernel.org/stable/c/561651d6a15588cee2040755f253faca2463415c
- https://git.kernel.org/stable/c/a9394971825933074032794a5feee5211509c774