CVE-2026-92507: RDMA/core: Fix potential use after free in ib_dealloc_pd_user()

Published Sep 17, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

RDMA/core: Fix potential use after free in ibdeallocpduser()

When accessing a PD via the netlink path the only synchronization mechanism for the said PD is rdmarestrackget(). Currently, rdmarestrackdel() is invoked at the end of ibdeallocpduser(), which is too late, since by that point vendor-specific resources associated with the PD might already be freed. This can leave a short window where the PD remains accessible through restrack, leading to a potential use-after-free.

Fix this by moving the rdmarestrackbegindel() call to the start of ibdeallocpduser(), ensuring that the PD is removed from restrack before its internal resources are released. This guarantees that no new users hold references to a PD 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.

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    In the PD destruction path (ib_dealloc_pd_user()), move the rdma_restrack_begin_del() call to the start of the flow so the PD is removed from restrack immediately, preventing a use-after-free window while the PD is still accessible via rdma_restrack_get() over the netlink path.

    Linux kernel RDMA/core rdma_restrack_begin_del()/rdma_restrack_del() invocation order = Move rdma_restrack_begin_del() call to the start of the PD destruction flow (before ib_dealloc_pd_user() proceeds), so restrack is removed first thing during destruction and rdma_restrack_del() occurs at the end while preserving the intended inverted order

Event History

Sep 17, 2026
CVE Published
via MITRE·04:10 PM
Data Sourced
via MITRE·04:10 PM
Description

Frequently Asked Questions

1

What access path is involved in triggering this issue?

The vulnerable access path is netlink access to an RDMA protection domain (PD) while that PD is being deallocated. The race exists because the PD can remain visible through RDMA resource tracking after vendor-specific resources have begun to be freed.

2

What condition creates the use-after-free window?

The window occurs when rdma_restrack_del() is delayed until the end of ib_dealloc_pd_user(). During destruction, a netlink user may still obtain a reference through rdma_restrack_get() after internal PD resources have already been released.

3

What does the fix change?

The fix calls rdma_restrack_begin_del() at the start of ib_dealloc_pd_user(). This removes the PD from resource tracking before its internal resources are freed, preventing new users from acquiring references during destruction.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203