CVE-2026-93228

Updated on 24 Sep 2026

Severity

9.1 Critical severity

Details

CVSS score
9.1
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Overview

About vulnerability

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. xdr_check_write_chunk() only rejects segcount > rc_maxpages, so zero passes the range check, and xdr_inline_decode(stream, 0) returns the current (non-NULL) cursor without advancing. The function returns true and pcl_alloc_write() then links a struct svc_rdma_chunk with ch_segcount == 0 onto rc_write_pcl or rc_reply_pcl.

An earlier patch in this series made pcl_for_each_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.

xdr_check_reply_chunk() funnels Reply chunks through xdr_check_write_chunk() and inherits the same rejection.

pcl_alloc_write() 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 list_add_tail() follows the segment fill loop, ensuring only fully-populated chunks appear on the list.

Details

Affected packages:
kernel @ 5.14.0 (+5 more)

Fixes

KernelCare state

Live-patch status from KernelCare for each operating system.

Operating system Status Covered kernels
AlmaLinux 10 In Rollout
75 kernels
  • 6.12.0-55.27.1.el10_0
  • 6.12.0-55.28.1.el10_0
  • 6.12.0-55.29.1.el10_0
  • 6.12.0-55.30.1.el10_0
  • 6.12.0-55.31.1.el10_0
  • 6.12.0-55.32.1.el10_0
  • 6.12.0-55.33.1.el10_0
  • 6.12.0-55.34.1.el10_0
  • 6.12.0-55.37.1.el10_0
  • 6.12.0-55.38.1.el10_0
  • 6.12.0-55.39.1.el10_0
  • 6.12.0-55.40.1.el10_0
  • 6.12.0-55.42.1.el10_0
  • 6.12.0-55.43.1.el10_0
  • 6.12.0-124.8.1.el10_1
  • 6.12.0-124.13.1.el10_1
  • 6.12.0-124.16.1.el10_1
  • 6.12.0-124.20.1.el10_1
  • 6.12.0-124.21.1.el10_1
  • 6.12.0-124.27.1.el10_1
  • 6.12.0-124.28.1.el10_1
  • 6.12.0-124.29.1.el10_1
  • 6.12.0-124.31.1.el10_1
  • 6.12.0-124.35.1.el10_1
  • 6.12.0-124.38.1.el10_1
  • 6.12.0-124.39.1.el10_1
  • 6.12.0-124.43.1.el10_1
  • 6.12.0-124.45.1.el10_1
  • 6.12.0-124.47.1.el10_1
  • 6.12.0-124.49.1.el10_1
  • 6.12.0-124.52.1.el10_1
  • 6.12.0-124.55.1.el10_1
  • 6.12.0-124.40.1.el10_1
  • 6.12.0-124.52.2.el10_1
  • 6.12.0-124.52.3.el10_1
  • 6.12.0-211.7.1.el10_2
  • 6.12.0-211.7.3.el10_2
  • 6.12.0-124.56.5.el10_1
  • 6.12.0-124.55.3.el10_1
  • 6.12.0-211.20.1.el10_2
  • 6.12.0-211.18.1.el10_2
  • 6.12.0-211.16.1.el10_2
  • 6.12.0-211.22.1.el10_2
  • 6.12.0-211.26.1.el10_2
  • 6.12.0-211.28.1.el10_2
  • 6.12.0-211.29.1.el10_2
  • 6.12.0-211.30.1.el10_2
  • 6.12.0-211.31.1.el10_2
  • 6.12.0-211.32.1.el10_2
  • 6.12.0-211.7.4.el10_2
  • 6.12.0-211.33.1.el10_2
  • 6.12.0-211.34.1.el10_2
  • 6.12.0-211.37.1.el10_2
  • 6.12.0-211.38.1.el10_2
  • 6.12.0-211.39.1.el10_2
  • 6.12.0-211.40.1.el10_2
  • 6.12.0-211.43.1.el10_2
  • 6.12.0-211.44.1.el10_2
  • 6.12.0-211.46.1.el10_2
  • 6.12.0-211.47.1.el10_2
  • 6.12.0-211.49.1.el10_2
  • 6.12.0-211.50.1.el10_2
  • 6.12.0-211.51.1.el10_2
  • 6.12.0-211.53.1.el10_2
  • 6.12.0-211.55.1.el10_2
  • 6.12.0-211.54.1.el10_2
  • 6.12.0-211.56.1.el10_2
  • 6.12.0-211.58.1.el10_2
  • 6.12.0-211.61.1.el10_2
  • 6.12.0-211.60.1.el10_2
  • 6.12.0-211.59.1.el10_2
  • 6.12.0-211.64.1.el10_2
  • 6.12.0-211.62.1.el10_2
  • 6.12.0-211.65.1.el10_2
  • 6.12.0-211.63.1.el10_2
AlmaLinux 9.2 ESU Planned —
Debian 13 In Rollout
17 kernels
  • 6.12.85-1
  • 6.12.86-1
  • 6.12.88-1
  • 6.12.74-2
  • 6.12.73-1
  • 6.12.63-1
  • 6.12.69-1
  • 6.12.74-1
  • 6.12.90-1
  • 6.12.90-2
  • 6.12.94-1
  • 6.12.95-1
  • 6.12.96-1
  • 6.12.100-1
  • 6.12.101-1
  • 6.12.105-1
  • 6.12.107-1
Oracle Linux 10 In Rollout
59 kernels
  • 6.12.0-55.27.1.0.1.el10_0
  • 6.12.0-55.28.1.0.1.el10_0
  • 6.12.0-55.29.1.0.1.el10_0
  • 6.12.0-55.30.1.0.1.el10_0
  • 6.12.0-55.31.1.0.1.el10_0
  • 6.12.0-55.32.1.0.1.el10_0
  • 6.12.0-55.33.1.0.1.el10_0
  • 6.12.0-55.34.1.0.1.el10_0
  • 6.12.0-55.37.1.0.1.el10_0
  • 6.12.0-55.38.1.0.1.el10_0
  • 6.12.0-55.39.1.0.1.el10_0
  • 6.12.0-55.40.1.0.1.el10_0
  • 6.12.0-55.41.1.0.1.el10_0
  • 6.12.0-55.42.1.0.1.el10_0
  • 6.12.0-55.43.1.0.1.el10_0
  • 6.12.0-124.8.1.el10_1
  • 6.12.0-124.13.1.el10_1
  • 6.12.0-124.16.1.el10_1
  • 6.12.0-124.20.1.el10_1
  • 6.12.0-124.21.1.el10_1
  • 6.12.0-124.27.1.el10_1
  • 6.12.0-124.28.1.el10_1
  • 6.12.0-124.29.1.el10_1
  • 6.12.0-124.31.1.el10_1
  • 6.12.0-124.35.1.el10_1
  • 6.12.0-124.38.1.el10_1
  • 6.12.0-124.39.1.el10_1
  • 6.12.0-124.40.1.el10_1
  • 6.12.0-124.43.1.el10_1
  • 6.12.0-124.45.1.el10_1
  • 6.12.0-124.47.1.el10_1
  • 6.12.0-124.49.1.el10_1
  • 6.12.0-124.52.1.el10_1
  • 6.12.0-124.55.1.el10_1
  • 6.12.0-124.56.1.el10_1
  • 6.12.0-211.7.3.el10_2
  • 6.12.0-211.34.1.el10_2
  • 6.12.0-211.37.1.el10_2
  • 6.12.0-211.38.1.el10_2
  • 6.12.0-211.39.1.el10_2
  • 6.12.0-211.40.1.el10_2
  • 6.12.0-211.42.1.el10_2
  • 6.12.0-211.43.1.el10_2
  • 6.12.0-211.44.1.el10_2
  • 6.12.0-211.46.1.el10_2
  • 6.12.0-211.47.1.el10_2
  • 6.12.0-211.49.1.el10_2
  • 6.12.0-211.50.1.el10_2
  • 6.12.0-211.51.1.el10_2
  • 6.12.0-211.53.1.el10_2
  • 6.12.0-211.54.1.el10_2
  • 6.12.0-211.55.1.el10_2
  • 6.12.0-211.56.1.el10_2
  • 6.12.0-211.61.1.el10_2
  • 6.12.0-211.60.1.el10_2
  • 6.12.0-211.62.1.el10_2
  • 6.12.0-211.63.1.el10_2
  • 6.12.0-211.64.1.el10_2
  • 6.12.0-211.65.1.el10_2
RHEL 10 In Rollout
76 kernels
  • 6.12.0-55.27.1.el10_0
  • 6.12.0-55.28.1.el10_0
  • 6.12.0-55.29.1.el10_0
  • 6.12.0-55.30.1.el10_0
  • 6.12.0-55.31.1.el10_0
  • 6.12.0-55.32.1.el10_0
  • 6.12.0-55.33.1.el10_0
  • 6.12.0-55.34.1.el10_0
  • 6.12.0-55.37.1.el10_0
  • 6.12.0-55.38.1.el10_0
  • 6.12.0-55.39.1.el10_0
  • 6.12.0-55.40.1.el10_0
  • 6.12.0-55.41.1.el10_0
  • 6.12.0-55.42.1.el10_0
  • 6.12.0-55.43.1.el10_0
  • 6.12.0-124.9.1.el10_1
  • 6.12.0-124.8.1.el10_1
  • 6.12.0-124.11.1.el10_1
  • 6.12.0-124.13.1.el10_1
  • 6.12.0-124.16.1.el10_1
  • 6.12.0-124.20.1.el10_1
  • 6.12.0-124.21.1.el10_1
  • 6.12.0-124.27.1.el10_1
  • 6.12.0-124.28.1.el10_1
  • 6.12.0-124.29.1.el10_1
  • 6.12.0-124.31.1.el10_1
  • 6.12.0-124.35.1.el10_1
  • 6.12.0-124.38.1.el10_1
  • 6.12.0-124.39.1.el10_1
  • 6.12.0-124.43.1.el10_1
  • 6.12.0-124.45.1.el10_1
  • 6.12.0-124.47.1.el10_1
  • 6.12.0-124.49.1.el10_1
  • 6.12.0-124.52.1.el10_1
  • 6.12.0-124.55.1.el10_1
  • 6.12.0-124.56.1.el10_1
  • 6.12.0-211.16.1.el10_2
  • 6.12.0-211.7.1.el10_2
  • 6.12.0-211.7.3.el10_2
  • 6.12.0-124.40.1.el10_1
  • 6.12.0-211.18.1.el10_2
  • 6.12.0-211.20.1.el10_2
  • 6.12.0-211.22.1.el10_2
  • 6.12.0-211.26.1.el10_2
  • 6.12.0-211.28.1.el10_2
  • 6.12.0-211.29.1.el10_2
  • 6.12.0-211.30.1.el10_2
  • 6.12.0-211.31.1.el10_2
  • 6.12.0-211.32.1.el10_2
  • 6.12.0-211.33.1.el10_2
  • 6.12.0-211.34.1.el10_2
  • 6.12.0-211.37.1.el10_2
  • 6.12.0-211.38.1.el10_2
  • 6.12.0-211.39.1.el10_2
  • 6.12.0-211.40.1.el10_2
  • 6.12.0-211.42.1.el10_2
  • 6.12.0-211.43.1.el10_2
  • 6.12.0-211.44.1.el10_2
  • 6.12.0-211.46.1.el10_2
  • 6.12.0-211.47.1.el10_2
  • 6.12.0-211.49.1.el10_2
  • 6.12.0-211.50.1.el10_2
  • 6.12.0-211.51.1.el10_2
  • 6.12.0-211.52.1.el10_2
  • 6.12.0-211.53.1.el10_2
  • 6.12.0-211.54.1.el10_2
  • 6.12.0-211.55.1.el10_2
  • 6.12.0-211.56.1.el10_2
  • 6.12.0-211.58.1.el10_2
  • 6.12.0-211.59.1.el10_2
  • 6.12.0-211.60.1.el10_2
  • 6.12.0-211.61.1.el10_2
  • 6.12.0-211.62.1.el10_2
  • 6.12.0-211.64.1.el10_2
  • 6.12.0-211.65.1.el10_2
  • 6.12.0-211.63.1.el10_2
RHEL 8 Planned —
RHEL 9 Planned —
Rocky Linux 10 In Rollout
58 kernels
  • 6.12.0-55.27.1.el10_0
  • 6.12.0-55.29.1.el10_0
  • 6.12.0-55.30.1.el10_0
  • 6.12.0-55.32.1.el10_0
  • 6.12.0-55.34.1.el10_0
  • 6.12.0-55.37.1.el10_0
  • 6.12.0-55.39.1.el10_0
  • 6.12.0-55.40.1.el10_0
  • 6.12.0-55.41.1.el10_0
  • 6.12.0-124.8.1.el10_1
  • 6.12.0-124.13.1.el10_1
  • 6.12.0-124.16.1.el10_1
  • 6.12.0-124.20.1.el10_1
  • 6.12.0-124.21.1.el10_1
  • 6.12.0-124.27.1.el10_1
  • 6.12.0-124.28.1.el10_1
  • 6.12.0-124.29.1.el10_1
  • 6.12.0-124.31.1.el10_1
  • 6.12.0-124.35.1.el10_1
  • 6.12.0-124.38.1.el10_1
  • 6.12.0-124.45.1.el10_1
  • 6.12.0-124.47.1.el10_1
  • 6.12.0-124.49.1.el10_1
  • 6.12.0-124.52.1.el10_1
  • 6.12.0-124.55.1.el10_1
  • 6.12.0-124.56.1.el10_1
  • 6.12.0-124.40.1.el10_1
  • 6.12.0-211.18.1.el10_2
  • 6.12.0-211.22.1.el10_2
  • 6.12.0-211.26.1.el10_2
  • 6.12.0-211.28.1.el10_2
  • 6.12.0-211.32.1.el10_2
  • 6.12.0-211.16.1.el10_2.0.1
  • 6.12.0-211.33.1.el10_2
  • 6.12.0-211.34.1.el10_2
  • 6.12.0-211.37.1.el10_2
  • 6.12.0-211.39.1.el10_2
  • 6.12.0-211.40.1.el10_2
  • 6.12.0-211.42.1.el10_2
  • 6.12.0-211.43.1.el10_2
  • 6.12.0-211.44.1.el10_2
  • 6.12.0-211.46.1.el10_2
  • 6.12.0-211.47.1.el10_2
  • 6.12.0-211.49.1.el10_2
  • 6.12.0-211.50.1.el10_2
  • 6.12.0-211.51.1.el10_2
  • 6.12.0-211.52.1.el10_2
  • 6.12.0-211.53.1.el10_2
  • 6.12.0-211.54.1.el10_2
  • 6.12.0-211.55.1.el10_2
  • 6.12.0-211.56.1.el10_2
  • 6.12.0-211.58.1.el10_2
  • 6.12.0-211.60.1.el10_2
  • 6.12.0-211.56.1.el10_2.0.1
  • 6.12.0-211.61.1.el10_2
  • 6.12.0-211.62.1.el10_2
  • 6.12.0-211.64.1.el10_2
  • 6.12.0-211.65.1.el10_2