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

RDMA/rtrs-srv: Bound RDMA-Write length to chunk size in rdma_write_sg

When the server answers an RTRS READ, rdma_write_sg() builds the source
scatter/gather entry for the IB_WR_RDMA_WRITE that returns data to the
peer. Its length is taken directly from the wire descriptor:

plist->length = le32_to_cpu(id->rd_msg->desc[0].len);

rd_msg points into the chunk buffer that the remote peer filled via
RDMA-WRITE-WITH-IMM (rtrs_srv_rdma_done() -> process_io_req() ->
process_read()), so desc[0].len is attacker-controlled and, before this
change, was only rejected when zero. The source address is the fixed
chunk start (dma_addr[msg_id]) and the source lkey is the PD-wide
local_dma_lkey, which is not tied to the chunk's MR mapping, so the verbs
layer does not constrain the transfer length to max_chunk_size. msg_id
and off are bounded against queue_depth and max_chunk_size in
rtrs_srv_rdma_done(), but desc[0].len is a separate field that was not
checked against the chunk size.

A peer that advertises desc[0].len larger than max_chunk_size can make
the posted RDMA write read past the chunk's mapped region. The resulting
behaviour depends on the IOMMU configuration: with no IOMMU or in
passthrough mode the read may extend into memory adjacent to the chunk
and be returned to the peer, which can disclose host memory; with a
translating IOMMU the out-of-range access is expected to fault and abort
the connection. In either case the transfer exceeds what the protocol
permits and is driven by a remote peer.

Reject a descriptor length above max_chunk_size, mirroring the existing
off >= max_chunk_size bound in rtrs_srv_rdma_done(). Legitimate clients
do not exceed it: the client sets desc[0].len to its MR length, which is
capped at the negotiated max_io_size (max_chunk_size - MAX_HDR_SIZE).
Published: 2026-07-25
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, the RDMA/rtrs server component incorrectly trusts a client‑supplied length field when building an RDMA‑WRITE operation. The server uses the descriptor length from the wire message without checking it against the maximum chunk size that the server allocates. A malicious peer can therefore request an RDMA write that reads past the end of the pre‑allocated chunk memory. If the host lacks a translating IOMMU or is running in passthrough mode, that out‑of‑range read can pull data from kernel memory adjacent to the chunk, which the peer subsequently receives, resulting in remote disclosure of host memory. With a translating IOMMU the write fault will abort the connection, but the protocol violation would still be observable. No privilege escalation or code execution capability is provided by the flaw.

Affected Systems

Any Linux kernel that includes the rtrs_srv RDMA server and has not applied the patch that bounds RDMA‑write lengths in rdma_write_sg is affected. This applies to all vendors that ship a kernel containing the rtrs_srv component, as the known CNA list confirms the vulnerability is present in the generic Linux kernel.

Risk and Exploitability

The flaw is a missing bounds check (CWE‑125). The CVSS score of 9.1 reflects high impact, while the EPSS score of < 1% indicates that exploitation is believed to be rare, especially given the need for RDMA connectivity and a specific kernel configuration. The vulnerability is not listed in the CISA KEV catalog. An attacker would need a remote RDMA session with the vulnerable host to send an engineered WR_RDMA_WRITE with an oversized descriptor length. Successful exploitation would result in memory disclosure but would not provide an avenue for privilege escalation.

Generated by OpenCVE AI on August 13, 2026 at 19:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest kernel patch that bounds RDMA‑write lengths against the maximum chunk size.
  • If immediate patching is not possible, stop the rtrs_srv RDMA server or block the queue pair that accepts client descriptors to prevent oversized transfers.
  • Configure or enable a translating IOMMU to cause out‑of‑bounds RDMA writes to fault, limiting damage to connection termination rather than data disclosure.

Generated by OpenCVE AI on August 13, 2026 at 19:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Thu, 13 Aug 2026 18:45:00 +0000

Type Values Removed Values Added
Weaknesses NVD-CWE-noinfo

Thu, 30 Jul 2026 04:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-194
CWE-200

Tue, 28 Jul 2026 00:15:00 +0000


Mon, 27 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sun, 26 Jul 2026 03:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-194
CWE-200

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: RDMA/rtrs-srv: Bound RDMA-Write length to chunk size in rdma_write_sg When the server answers an RTRS READ, rdma_write_sg() builds the source scatter/gather entry for the IB_WR_RDMA_WRITE that returns data to the peer. Its length is taken directly from the wire descriptor: plist->length = le32_to_cpu(id->rd_msg->desc[0].len); rd_msg points into the chunk buffer that the remote peer filled via RDMA-WRITE-WITH-IMM (rtrs_srv_rdma_done() -> process_io_req() -> process_read()), so desc[0].len is attacker-controlled and, before this change, was only rejected when zero. The source address is the fixed chunk start (dma_addr[msg_id]) and the source lkey is the PD-wide local_dma_lkey, which is not tied to the chunk's MR mapping, so the verbs layer does not constrain the transfer length to max_chunk_size. msg_id and off are bounded against queue_depth and max_chunk_size in rtrs_srv_rdma_done(), but desc[0].len is a separate field that was not checked against the chunk size. A peer that advertises desc[0].len larger than max_chunk_size can make the posted RDMA write read past the chunk's mapped region. The resulting behaviour depends on the IOMMU configuration: with no IOMMU or in passthrough mode the read may extend into memory adjacent to the chunk and be returned to the peer, which can disclose host memory; with a translating IOMMU the out-of-range access is expected to fault and abort the connection. In either case the transfer exceeds what the protocol permits and is driven by a remote peer. Reject a descriptor length above max_chunk_size, mirroring the existing off >= max_chunk_size bound in rtrs_srv_rdma_done(). Legitimate clients do not exceed it: the client sets desc[0].len to its MR length, which is capped at the negotiated max_io_size (max_chunk_size - MAX_HDR_SIZE).
Title RDMA/rtrs-srv: Bound RDMA-Write length to chunk size in rdma_write_sg
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:40:26.795Z

Reserved: 2026-07-19T15:36:31.775Z

Link: CVE-2026-64269

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-07-25T10:17:07.160

Modified: 2026-08-13T18:27:59.430

Link: CVE-2026-64269

cve-icon Redhat

Severity :

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64269 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T20:00:03Z

Weaknesses