CVE-2026-64269: RDMA/rtrs-srv: Bound RDMA-Write length to chunk size in rdma_write_sg
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).
Security readout for executives and security teams
Plain-English summary
A malicious RDMA peer can make an affected Linux RTRS server read beyond an intended memory buffer. Depending on IOMMU protection, nearby host memory could be returned to the peer, or the invalid access could fault and terminate the connection. Systems not providing RTRS services are unlikely to be directly exposed.
Executive priority
Prioritize urgent assessment and patching for RTRS storage servers, especially those accepting untrusted RDMA peers or lacking translating IOMMU protection. Other Linux systems should first confirm whether RTRS server functionality is present and active. The potential consequences are host-memory disclosure and service disruption.
Technical view
RTRS accepted an attacker-controlled READ descriptor length without checking it against max_chunk_size. rdma_write_sg() used that length with a fixed chunk address and PD-wide local DMA key, allowing an RDMA write to read beyond the mapped chunk. The kernel fix rejects descriptor lengths exceeding max_chunk_size.
Likely exposure
Exposure is concentrated on affected Linux systems operating an RTRS server and reachable by an untrusted or compromised RDMA peer. Hosts without active RTRS server functionality are unlikely to be vulnerable through this path. Exact fixed distribution package versions are not provided in the source bundle and require vendor verification.
Exploitation context
The CVE is not listed as KEV, and the supplied sources provide no evidence of active exploitation. Without an IOMMU, or in passthrough mode, exploitation may disclose adjacent host memory. With a translating IOMMU, the access is expected to fault and abort the connection instead.
Researcher notes
The vulnerable field is desc[0].len, supplied through a remotely written request buffer. Existing checks bounded message identifiers and offsets but not this independent length. Because local_dma_lkey was not constrained to the chunk mapping, the verbs layer did not enforce max_chunk_size. No CWE was assigned in the supplied record.
Mitigation direction
Update to a vendor-supported kernel containing the applicable referenced stable fix.
Restrict RDMA and RTRS connectivity to trusted peers until updates are applied.
Disable RTRS server functionality where unused, following vendor operational guidance.
Keep translating IOMMU protection enabled as defense-in-depth, but do not treat it as a complete fix.
Consult the Linux distribution vendor for exact fixed package and backport information.
Validation and detection
Identify systems running affected kernels and determine whether RTRS server functionality is active.
Compare installed kernels and vendor backports with the referenced Linux stable fixes.
Review RDMA network controls and identify untrusted or compromised peers able to reach RTRS services.
Verify whether IOMMU translation is enforced rather than disabled or operating in passthrough mode.
After updating, confirm the kernel rejects descriptor lengths greater than max_chunk_size using safe regression testing.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-64269 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
9Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.