CVE-2026-90423
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
RDMA/rxe: Fix UAF in ODP init error-handling path
rxe_odp_mr_init_user() stores &umem_odp->umem in mr->umem before calling rxe_odp_init_pages(). If rxe_odp_init_pages() fails, rxe_odp_mr_init_user() releases umem_odp and returns an error.
rxe_reg_user_mr() then unwinds the error through rxe_cleanup(), rxe_mr_cleanup(), ib_umem_release(mr->umem). There is an IS_ERR_OR_NULL(umem) check at the start of ib_umem_release(). But since mr->umem is NOT reset to NULL in the error handling path of rxe_odp_mr_init_user(), the check passes and it reads already-freed fields like umem->is_dmabuf, causing UAF.
Fix the UAF by clearing mr->umem after releasing the failed ODP umem so the MR cleanup path does not release it again.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | d03fb5c6599e31b90c6b5f65d43d6ccc6b49eb91 < 5f1933163327c9f1c8f2a341c6cb551aaf231ff9 | affected |
| Linux | Linux | d03fb5c6599e31b90c6b5f65d43d6ccc6b49eb91 < 4cfb448705da3171d44d9cbe7be53ff03284d532 | affected |
| Linux | Linux | d03fb5c6599e31b90c6b5f65d43d6ccc6b49eb91 < 51f2c8d2c99fc1f452f7113c08a35edcc4bf8732 | affected |
| Linux | Linux | 6.15 | affected |
| Linux | Linux | 0 < 6.15 | unaffected |
| Linux | Linux | 6.18.52 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.6 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/5f1933163327c9f1c8f2a341c6cb551aaf231ff9
- https://git.kernel.org/stable/c/4cfb448705da3171d44d9cbe7be53ff03284d532
- https://git.kernel.org/stable/c/51f2c8d2c99fc1f452f7113c08a35edcc4bf8732
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.