CVE-2026-92525

CVE-2026-92525

High · published September 17, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
4.7
In the wild
Unconfirmed
What it is

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

RDMA/rxe: Validate num_sge/cur_sge before indexing wqe->dma.sge[]

For a user QP, qp->sq.queue is a ring the application writes directly,

so rxe_post_send() takes the is_user branch and only schedules send_task

without validating the WQE. rxe_requester() consumes it in place via

req_next_wqe() and calls copy_data(), which indexes

&wqe->dma.sge[cur_sge] with the attacker-controlled num_sge/cur_sge.

Only the kernel path bounds num_sge (validate_send_wr()); the user WQE

is never checked, so a local unprivileged user can post a WQE with an

out-of-range cur_sge or oversized num_sge and force an out-of-bounds

read of the per-WQE sge array in copy_data() (vmalloc OOB read, local

DoS).

Bound num_sge to qp->sq.max_sge in rxe_requester() before use, the way

get_srq_wqe() already guards SRQ entries, and bound cur_sge only when

the WQE carries payload (dma.resid): copy_data() returns early on a

zero-length copy before touching dma->sge[], so a zero-payload WQE --

the only kind a max_sge == 0 QP can post -- stays valid.

Reproduced under KASAN; the vmalloc-out-of-bounds in copy_data() is gone.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00160 · 4.7th percentile
Published
2026-09-17T21:17Z
References (6)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:10Z
    RDMA/rxe: Validate num_sge/cur_sge before indexing wqe->dma.sge[]
    cvelistv5