Bug 2528646 (CVE-2026-80864) - CVE-2026-80864 kernel: RDMA/rxe: Fix responder UAF on IB_QP_MAX_DEST_RD_ATOMIC modify_qp
Summary: CVE-2026-80864 kernel: RDMA/rxe: Fix responder UAF on IB_QP_MAX_DEST_RD_ATOMI...
Keywords:
Status: NEW
Alias: CVE-2026-80864
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-04 16:11 UTC by OSIDB Bzimport
Modified: 2026-10-08 07:23 UTC (History)
17 users (show)

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


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:77216 0 None None None 2026-10-07 02:49:29 UTC
Red Hat Product Errata RHSA-2026:77217 0 None None None 2026-10-07 03:39:31 UTC
Red Hat Product Errata RHSA-2026:77218 0 None None None 2026-10-07 06:27:46 UTC
Red Hat Product Errata RHSA-2026:77219 0 None None None 2026-10-08 07:23:07 UTC
Red Hat Product Errata RHSA-2026:77301 0 None None None 2026-10-07 07:04:45 UTC

Description OSIDB Bzimport 2026-09-04 16:11:49 UTC
In the Linux kernel, the following vulnerability has been resolved:

RDMA/rxe: Fix responder UAF on IB_QP_MAX_DEST_RD_ATOMIC modify_qp

rxe_qp_from_attr() handles IB_QP_MAX_DEST_RD_ATOMIC outside the
IB_QP_STATE path, so it holds no state_lock and runs while the responder
task rxe_receiver() (recv_task on rxe_wq) is live. A modify_qp() setting
only that attribute calls free_rd_atomic_resources() then
alloc_rd_atomic_resources(), swapping qp->resp.resources[] while
rxe_prepare_res()/find_resource() walk it; free_rd_atomic_resources()
also leaves the cached pointer qp->resp.res dangling. A local
unprivileged user can race the free/realloc into a use-after-free in
rxe_receiver() (local DoS).

Drain recv_task around the swap with rxe_disable_task()/rxe_enable_task(),
as rxe_qp_reset() already does when tearing this array down, re-enabling
only after alloc_rd_atomic_resources() succeeds so the responder never
resumes against a NULL qp->resp.resources on the ENOMEM path. Also clear
qp->resp.res in free_rd_atomic_resources(), like the rxe_resp.c
completion paths.

Reproduced under KASAN; the slab-use-after-free in rxe_receiver() is gone.

Comment 7 Jon Orris 2026-10-07 02:49:28 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support
  Red Hat Enterprise Linux 8.6 Extended Update Support Long-Life Add-On

Via RHSA-2026:77216 https://access.redhat.com/errata/RHSA-2026:77216

Comment 8 Jon Orris 2026-10-07 03:39:29 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
  Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On

Via RHSA-2026:77217 https://access.redhat.com/errata/RHSA-2026:77217

Comment 9 Jon Orris 2026-10-07 06:27:44 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.4 Update Services for SAP Solutions

Via RHSA-2026:77218 https://access.redhat.com/errata/RHSA-2026:77218

Comment 10 Jon Orris 2026-10-07 07:04:43 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions
  Red Hat Enterprise Linux 8.8 Telecommunications Update Service

Via RHSA-2026:77301 https://access.redhat.com/errata/RHSA-2026:77301

Comment 11 Jon Orris 2026-10-08 07:23:06 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.6 Extended Update Support

Via RHSA-2026:77219 https://access.redhat.com/errata/RHSA-2026:77219


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