← Back to CVE List
CVE-2026-92511NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
RDMA/core: Fix potential use after free in ib_destroy_cq_user()
When accessing a CQ via the netlink path the only synchronization
mechanism for the said CQ is rdma_restrack_get().
Currently, rdma_restrack_del() is invoked at the end of
ib_destroy_cq_user(), which is too late, since by that point
vendor-specific resources associated with the CQ might already be
freed. This can leave a short window where the CQ 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_cq_user(), ensuring that the CQ is removed from restrack
before its internal resources are released. This guarantees that no new
users hold references to a CQ 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_cq_user()
When accessing a CQ via the netlink path the only synchronization
mechanism for the said CQ is rdma_restrack_get().
Currently, rdma_restrack_del() is invoked at the end of
ib_destroy_cq_user(), which is too late, since by that point
vendor-specific resources associated with the CQ might already be
freed. This can leave a short window where the CQ 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_cq_user(), ensuring that the CQ is removed from restrack
before its internal resources are released. This guarantees that no new
users hold references to a CQ 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 >= 08f294a1524bc3211a28091daa6c7513828c7d33 and < 42f7a0c7a94003059540cce448acabfa62ad119d
- Linux Linux >= 08f294a1524bc3211a28091daa6c7513828c7d33 and < 253c2ed71a532c70fa0e64317ceb02bb1a50c84c
- Linux Linux >= 08f294a1524bc3211a28091daa6c7513828c7d33 and < b85a148731eceffacb6a030950187d785175607f
- Linux Linux >= 08f294a1524bc3211a28091daa6c7513828c7d33 and < 197c262dbf94c0f7ab7ac54b66f892ce9f343232
- Linux Linux >= 08f294a1524bc3211a28091daa6c7513828c7d33 and < 8a72a6aad84b3928dbb5e564bff1f56a7ec222ae
- Linux Linux >= 08f294a1524bc3211a28091daa6c7513828c7d33 and < 3481bec4dfc4aee24ffea5a547ee95b70b67d9d5
- Linux Linux >= 4.16
- Linux Linux 42f7a0c7a94003059540cce448acabfa62ad119d
- Linux Linux 253c2ed71a532c70fa0e64317ceb02bb1a50c84c
- Linux Linux b85a148731eceffacb6a030950187d785175607f
- Linux Linux 197c262dbf94c0f7ab7ac54b66f892ce9f343232
- Linux Linux 8a72a6aad84b3928dbb5e564bff1f56a7ec222ae
- Linux Linux 3481bec4dfc4aee24ffea5a547ee95b70b67d9d5
External References
- https://git.kernel.org/stable/c/42f7a0c7a94003059540cce448acabfa62ad119d
- https://git.kernel.org/stable/c/253c2ed71a532c70fa0e64317ceb02bb1a50c84c
- https://git.kernel.org/stable/c/b85a148731eceffacb6a030950187d785175607f
- https://git.kernel.org/stable/c/197c262dbf94c0f7ab7ac54b66f892ce9f343232
- https://git.kernel.org/stable/c/8a72a6aad84b3928dbb5e564bff1f56a7ec222ae
- https://git.kernel.org/stable/c/3481bec4dfc4aee24ffea5a547ee95b70b67d9d5