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-93228

svcrdma: Reject Write/Reply chunks with segcount 0
Back to all
CVE

CVE-2026-93228

svcrdma: Reject Write/Reply chunks with segcount 0

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

svcrdma: Reject Write/Reply chunks with segcount 0

A peer can send a Write or Reply chunk whose segcount field is zero.

xdrcheckwritechunk() only rejects segcount > rcmaxpages, so zero

passes the range check, and xdrinlinedecode(stream, 0) returns the

current (non-NULL) cursor without advancing. The function returns

true and pclallocwrite() then links a struct svcrdmachunk with

chsegcount == 0 onto rcwritepcl or rcreply_pcl.

An earlier patch in this series made pclforeach_segment() safe for

ch_segcount == 0, so this no longer drives the memory walk it used

to. Rejecting the malformed frame at the decode boundary is still

worthwhile as defense in depth: it keeps degenerate zero-segment

chunks off the parsed chunk lists entirely, so any future consumer

that walks ch_segments directly cannot observe one, and it makes the

zero-floor easy to backport to trees where the macro change is more

intrusive. RFC 8166 has no meaning for a Write/Reply chunk that

describes no remote buffer, so no legitimate client is affected.

xdrcheckreply_chunk() funnels Reply chunks through

xdrcheckwrite_chunk() and inherits the same rejection.

pclallocwrite() also links each chunk onto the parsed chunk list

before filling its segment array. If a future change weakens the

segcount-0 rejection, an incomplete chunk is visible to consumers

during the fill loop. Reorder so that listaddtail() follows the

segment fill loop, ensuring only fully-populated chunks appear on

the list.

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.1
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
C
H
U
-

Related Resources

No items found.

References

https://git.kernel.org/stable/c/45dbdb2637b7fc5f1355b588780d2a7fb0516805, https://git.kernel.org/stable/c/9808eb7656666acc7291bae9ab6b987bd16e47e0, https://git.kernel.org/stable/c/a798714b58041e88716db3bf8fb03ae13eecd54a, https://git.kernel.org/stable/c/fe533ae1bed2ef2b3d54ee7ab410da1874ed3d4f, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93228.json, https://nvd.nist.gov/vuln/detail/CVE-2026-93228, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Severity

9.1

CVSS Score
0
10

Basic Information

Base CVSS
9.1
EPSS Probability
0.00473%
EPSS Percentile
0.39571%
Introduced Version
78147ca8b4a9b6cf0e597ddd6bf17959e08376c2,5.11.0,6.13.0,6.19.0,0
Fix Available
9808eb7656666acc7291bae9ab6b987bd16e47e0,6.12.111,6.18.50,7.2.4,0:4.18.0-553.174.1.el8_10,0:4.18.0-553.174.1.rt7.515.el8_10,0:5.14.0-687.58.1.el9_8,6.12.0-211.66.1.el10_2,6.12.111-1~deb12u1,6.12.111-1,0:6.12.0-211.66.1.el10_2,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