← Back to CVE List
CVE-2026-92510NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
RDMA/core: Fix potential use after free in ib_destroy_srq_user()
When accessing a SRQ via the netlink path the only synchronization
mechanism for the said SRQ is rdma_restrack_get().
Currently, rdma_restrack_del() is invoked at the end of
ib_destroy_srq_user(), which is too late, since by that point
vendor-specific resources associated with the SRQ might already be
freed. This can leave a short window where the SRQ remains accessible
through restrack, leading to a potential use-after-free.
Fix this by moving the rdma_restrack_begin_del() call to the start of
ib_destroy_srq_user(), ensuring that the SRQ is removed from restrack
before its internal resources are released. This guarantees that no new
users hold references to a SRQ that is in the process of destruction.
In addition, this change preserves the intended inverted order
between create and destroy routines: resources are added to
restrack at the end of successful creation, and hence shall be removed
from the restrack first thing during the destruction flow, which keeps
the lifecycle management consistent and predictable.
RDMA/core: Fix potential use after free in ib_destroy_srq_user()
When accessing a SRQ via the netlink path the only synchronization
mechanism for the said SRQ is rdma_restrack_get().
Currently, rdma_restrack_del() is invoked at the end of
ib_destroy_srq_user(), which is too late, since by that point
vendor-specific resources associated with the SRQ might already be
freed. This can leave a short window where the SRQ remains accessible
through restrack, leading to a potential use-after-free.
Fix this by moving the rdma_restrack_begin_del() call to the start of
ib_destroy_srq_user(), ensuring that the SRQ is removed from restrack
before its internal resources are released. This guarantees that no new
users hold references to a SRQ that is in the process of destruction.
In addition, this change preserves the intended inverted order
between create and destroy routines: resources are added to
restrack at the end of successful creation, and hence shall be removed
from the restrack first thing during the destruction flow, which keeps
the lifecycle management consistent and predictable.
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 >= 48f8a70e899fa4d9c8f00369f482f0382173ece9 and < a5bfd9fe05d5cebbd3e447bf7f7b2c663007d8b9
- Linux Linux >= 48f8a70e899fa4d9c8f00369f482f0382173ece9 and < d3d0eabe6e39b024deb3e085e2d408d037e967c3
- Linux Linux >= 48f8a70e899fa4d9c8f00369f482f0382173ece9 and < 9c704383529044c02122f85a2a9a42cbf14a07a6
- Linux Linux >= 48f8a70e899fa4d9c8f00369f482f0382173ece9 and < bedd7dee72588c838f5b67197ea8b387e7beb918
- Linux Linux >= 48f8a70e899fa4d9c8f00369f482f0382173ece9 and < 95c992c869df54a6a7061f5f3fb6400244f2af8f
- Linux Linux >= 48f8a70e899fa4d9c8f00369f482f0382173ece9 and < 88244ecc71cc0b3ed200f5ef7ddea6686adfd730
- Linux Linux >= 5.13
- Linux Linux a5bfd9fe05d5cebbd3e447bf7f7b2c663007d8b9
- Linux Linux d3d0eabe6e39b024deb3e085e2d408d037e967c3
- Linux Linux 9c704383529044c02122f85a2a9a42cbf14a07a6
- Linux Linux bedd7dee72588c838f5b67197ea8b387e7beb918
- Linux Linux 95c992c869df54a6a7061f5f3fb6400244f2af8f
- Linux Linux 88244ecc71cc0b3ed200f5ef7ddea6686adfd730
External References
- https://git.kernel.org/stable/c/a5bfd9fe05d5cebbd3e447bf7f7b2c663007d8b9
- https://git.kernel.org/stable/c/d3d0eabe6e39b024deb3e085e2d408d037e967c3
- https://git.kernel.org/stable/c/9c704383529044c02122f85a2a9a42cbf14a07a6
- https://git.kernel.org/stable/c/bedd7dee72588c838f5b67197ea8b387e7beb918
- https://git.kernel.org/stable/c/95c992c869df54a6a7061f5f3fb6400244f2af8f
- https://git.kernel.org/stable/c/88244ecc71cc0b3ed200f5ef7ddea6686adfd730