CVE-2026-80864

RDMA/rxe: Fix responder UAF on IB_QP_MAX_DEST_RD_ATOMIC modify_qp

State
Published
Severity
Not scored
Published
Sep 4, 2026
Updated
Oct 30, 2026
Reserved
Aug 26, 2026

Read the record on cve.org

Description

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 8700e3e7c4857d28ebaa824509934556da0b3e76 to before 87e40635d77aa19088550698c81eb295d5131f71Affected
  • 8700e3e7c4857d28ebaa824509934556da0b3e76 to before 82257379061c0a7aba6c77081d988339982af115Affected
  • 8700e3e7c4857d28ebaa824509934556da0b3e76 to before 0136b528b753c5a56e4d997ef20b86bb6750b8fbAffected
  • 8700e3e7c4857d28ebaa824509934556da0b3e76 to before ffa4f0be69656be1755090f02db38d49816585c6Affected
  • 8700e3e7c4857d28ebaa824509934556da0b3e76 to before d4cd32eb8bd2b0ffbdc7b1f3d82ce6a371f8f844Affected
  • 8700e3e7c4857d28ebaa824509934556da0b3e76 to before 60dfd47929cd1e7070daa810d40ce538d888410dAffected
  • 8700e3e7c4857d28ebaa824509934556da0b3e76 to before 6f7014237405e7f032b5c53a82d9eccf6161c291Affected
LinuxLinux
  • 4.8Affected
  • before 4.8Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.108 through 6.12.*Not affected
  • 6.18.49 through 6.18.*Not affected
  • 7.1.13 through 7.1.*Not affected
  • 7.2.3 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.