CVE-2026-89530

CVE-2026-89530

Critical · published September 12, 2026

CVSS v3.1
9.8
EPSS
0%
Percentile
38.7
In the wild
Unconfirmed
What it is

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

svcrdma: Reject inline replies that overflow the pull-up buffer

An RPC-over-RDMA client can request a reply, such as an NFS READ

payload, without providing a Write list or a Reply chunk to carry

it. When such a reply needs more scatter/gather entries than the

device's Send Queue supports, svc_rdma_pull_up_needed() selects

pull-up and svc_rdma_pull_up_reply_msg() linearizes the whole

reply into sctxt->sc_xprt_buf. That buffer is only sc_max_req_size

bytes, while the reply on this path is bounded only by the client's

request, so svc_rdma_xb_linearize() copies past the end of the

buffer and corrupts adjacent slab memory. The oversized length is

then stored in sc_sges[0].length and posted, so the device also

reads beyond the mapped region.

The SGE-exhaustion branch is the only pull-up path that can exceed

the buffer: the threshold branch pulls up only replies smaller

than RPCRDMA_PULLUP_THRESH, and replies that fit the device's SGE

budget are sent directly without linearization. Make

svc_rdma_pull_up_needed() report -E2BIG when the reply it would

pull up cannot fit sc_max_req_size, and fail the request with

ERR_CHUNK as RFC 8166 Section 4.5.3 directs rather than dropping

the connection.

The helper no longer answers a simple yes/no question: it now

reports pull-up, no pull-up, or -E2BIG for a reply too large to

linearize. Rename svc_rdma_pull_up_needed() to

svc_rdma_check_pull_up() so its name no longer implies a boolean

predicate.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00457 · 38.7th percentile
Published
2026-09-12T00:19Z
References (5)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:44Z
    svcrdma: Reject inline replies that overflow the pull-up buffer
    cvelistv5