CVE-2026-89526

svcrdma: Validate Read chunk positions before reconstruction

State
Published
Severity
9.8 Critical
Published
Sep 11, 2026
Updated
Oct 30, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

svcrdma: Validate Read chunk positions before reconstruction

The RPC/RDMA Read chunk position field is supplied by the remote client and stored verbatim in the parsed chunk list. xdr_count_read_segments() checks only 4-byte alignment; it never compares the position against the received inline body length.

In the single-chunk path, svc_rdma_read_complete_one() splits the head and tail kvecs at ch_position. A position past the inline body underflows the tail length, exposing adjacent slab memory to the upper XDR decoder.

In the multi-chunk path, svc_rdma_read_multiple_chunks() computes gap lengths between chunks as unsigned subtractions from ch_position. Overlapping Read chunks cause these subtractions to underflow. A final position past the inline body likewise underflows the trailing gap length. svc_rdma_copy_inline_range() then copies past the receive buffer into request pages that are returned to the client through the Reply channel.

Bound inline-range copies in svc_rdma_copy_inline_range() against the decoded inline RPC body saved in rc_saved_arg. Reject a single Read chunk positioned beyond that body, and reject multi-chunk lists where accumulated read bytes exceed the next chunk's position. Apply the same position and overlap checks in the call-chunk interleaving path.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 to before 6388f2ed36c10f59d926735b92c2b152d2c635e5Affected
  • d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 to before 3861eeabaebe243050952b34063763527c44e1feAffected
  • d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 to before 5ab3f6d882fe07ae5e61d0bcfeea00b9409155c2Affected
  • d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 to before f84ec84d8d4bc65f9ae23372570349687f66fa39Affected
  • d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 to before 577097455d084610fc31e91e6a61c5793b6f04baAffected
  • d96962e6d0e281bab6a48e83b42f5dce6eb28bf4 to before 3779b7b9e7d1c8ba4738f9d327de3b0288cefe9bAffected
LinuxLinux
  • 5.11Affected
  • before 5.11Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 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.