Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-89530

svcrdma: Reject inline replies that overflow the pull-up buffer
Back to all
CVE

CVE-2026-89530

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

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, svcrdmapullupneeded() selects

pull-up and svcrdmapullupreply_msg() linearizes the whole

reply into sctxt->scxprtbuf. That buffer is only scmaxreq_size

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

request, so svcrdmaxb_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 RPCRDMAPULLUPTHRESH, and replies that fit the device's SGE

budget are sent directly without linearization. Make

svcrdmapullupneeded() report -E2BIG when the reply it would

pull up cannot fit scmaxreq_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 svcrdmapullupneeded() to

svcrdmacheckpullup() so its name no longer implies a boolean

predicate.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
9.8
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://git.kernel.org/stable/c/0fbe20dfe74b783d255bf389a6ea77aa25dc7860, https://git.kernel.org/stable/c/1949dd1576f7a8aa161b1330c6125df9d53046d5, https://git.kernel.org/stable/c/8ec60eb51fae37cd3d334ff26e4a7d6fb21ff7cf, https://git.kernel.org/stable/c/fcd91b9957462d398792201c239dffaeff1cc8b2, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89530.json, https://nvd.nist.gov/vuln/detail/CVE-2026-89530, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Severity

9.8

CVSS Score
0
10

Basic Information

Base CVSS
9.8
EPSS Probability
0.00457%
EPSS Percentile
0.37667%
Introduced Version
e248aa7be86e8179f20ac0931774ecd746f3f5bf,4.19.22,4.20.9,9b65b18f817d9ada2bf67351f24bdcce6789a0bb,d564356e1919d1178568c19af410cfc1a9076663,5.0.0,6.13.0,6.19.0,0
Fix Available
0fbe20dfe74b783d255bf389a6ea77aa25dc7860,4.20,4.21,6.12.109,6.18.50,7.2.4,0:4.18.0-553.172.1.el8_10,0:4.18.0-553.172.1.rt7.513.el8_10,0:5.14.0-687.56.1.el9_8,6.12.0-211.64.1.el10_2,6.12.111-1~deb12u1,6.12.111-1,0:6.12.0-207.111.5.1.el10uek,0:6.12.0-207.111.5.1.el9uek

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading