KernelScan.io

HIGH Introduced in 5.3

siw Accept UAF

CVE-2026-90292

CVSS 7.8 / 10.0 NVD

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

KernelScan AI7.0HIGH

01

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.

02

Engine v0.6.0

Risk summary

A local process with access to RDMA devices via the software iWarp (siw) driver can trigger a use-after-free in the connection acceptance path by supplying a QP that is already in a ready-to-send state. This can lead to kernel memory corruption, potentially allowing privilege escalation, information disclosure, or denial of service through a kernel panic.

Affecteddrivers/infiniband/sw/siw/siw_cm.c (RDMA software iWarp connection management)

Vulnerability analysis

In the software iWarp driver's connection acceptance path, error cleanup can occur when an incoming connection is paired with a queue pair that is already active. The cleanup wrongly assumes it created the pairing, so it releases the incoming connection endpoint instead of the one actually paired with the queue pair. This frees the incoming endpoint too early while code still intends to use it, corrupting memory and breaking any existing connection on that queue pair. The fix ensures cleanup only releases the endpoint when it truly belongs to the current incoming connection, preventing premature freeing and preserving active connections. A local process with access to the software iWarp device files can reach this path; no special hardware is required.

03

BranchIntroducedFixed inPatch commit
5.105.35.10.270d57db36e74cc
5.155.35.15.22159de5502f328
6.15.36.1.188a89d120615e7
6.125.36.12.1108f286a8094ee
6.185.36.18.52de603f01d9cc
6.65.36.6.157b9e7d3d9fdb2
7.25.37.2.6561651d6a155
mainline5.37.3a93949718259
cip/5.105.35.10.271-cip78d57db36e74cc
cip/6.15.36.1.189-cip61a89d120615e7
cip/6.1-rt5.36.1.189-cip61-rt32a89d120615e7
cip/6.125.36.12.111-cip328f286a8094ee

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.271-cip78
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)