CVE-2026-92511: RDMA/core: Fix potential use after free in ib_destroy_cq_user()
In the Linux kernel, the following vulnerability has been resolved:
RDMA/core: Fix potential use after free in ibdestroycquser()
When accessing a CQ via the netlink path the only synchronization mechanism for the said CQ is rdmarestrackget(). Currently, rdmarestrackdel() is invoked at the end of ibdestroycquser(), 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 rdmarestrackbegindel() call to the start of ibdestroycquser(), 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.
Affected Software
Event History
Frequently Asked Questions
Which systems are most relevant for triage?
Systems using Linux kernel RDMA completion queues and accessing those queues through the netlink path are relevant. The issue requires a CQ to be undergoing destruction while it remains reachable through RDMA resource tracking.
What condition creates the exposure window?
The exposure exists when vendor-specific CQ resources have begun to be freed but the CQ has not yet been removed from restrack. During that interval, a new netlink-path user may obtain a reference to the CQ and access freed resources.
What does the fix change operationally?
The fix removes the CQ from restrack at the start of the user CQ destruction flow, before its internal resources are released. This prevents new references from being acquired for a CQ that is being destroyed.