Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < d57db36e74cca4763e1c2c0c6eb9f84d19813879affected6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < 59de5502f32895ffe9c45530327ed997b90fdf06affected6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < a89d120615e711ce8fce551fd291c2f387666735affected6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < b9e7d3d9fdb2bfcfb25d93529fdf766536b37c78affected6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < 8f286a8094ee32c415f9ecd2c20765beb8a18c79affected6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < de603f01d9ccf823e575b013ffd86ebedca9a8c5affected6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < 561651d6a15588cee2040755f253faca2463415caffected6c52fdc244b5ccc468006fd65a504d4ee33743c7 to < a9394971825933074032794a5feee5211509c774affected
Linux Linux
Default version status: affected
5.3affected0 to < 5.3unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
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 ↗