Bug 2540356 (CVE-2026-93267) - CVE-2026-93267 kernel: RDMA/core: Fix potential use after free in uverbs_free_dmah()
Summary: CVE-2026-93267 kernel: RDMA/core: Fix potential use after free in uverbs_free...
Keywords:
Status: NEW
Alias: CVE-2026-93267
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-24 16:23 UTC by OSIDB Bzimport
Modified: 2026-09-28 11:50 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-24 16:23:59 UTC
In the Linux kernel, the following vulnerability has been resolved:

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

When accessing a dmah via the netlink path the only synchronization
mechanism for the said dmah is rdma_restrack_get().
Currently, rdma_restrack_del() is invoked at the end of
uverbs_free_dmah(), which is too late, since by that point
vendor-specific resources associated with the dmah might already be
freed. This can leave a short window where the dmah 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
uverbs_free_dmah(), ensuring that the dmah is removed from restrack
before its internal resources are released. This guarantees that no new
users hold references to a dmah 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.


Note You need to log in before you can comment on or make changes to this bug.