CVE-2026-46114

RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads

State
Published
Severity
7.5 High
Published
May 28, 2026
Updated
Oct 19, 2026
Reserved
May 13, 2026

Read the record on cve.org

Description

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

RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads

atomic_write_reply() at drivers/infiniband/sw/rxe/rxe_resp.c unconditionally dereferences 8 bytes at payload_addr(pkt):

value = *(u64 *)payload_addr(pkt);

check_rkey() previously accepted an ATOMIC_WRITE request with pktlen == resid == 0 because the length validation only compared pktlen against resid. A remote initiator that sets the RETH length to 0 therefore reaches atomic_write_reply() with a zero-byte logical payload, and the responder reads sizeof(u64) bytes from past the logical end of the packet into skb->head tailroom, then writes those 8 bytes into the attacker's MR via rxe_mr_do_atomic_write(). That is a remote disclosure of 4 bytes of kernel tailroom per probe (the other 4 bytes are the packet's own trailing ICRC).

IBA oA19-28 defines ATOMIC_WRITE as exactly 8 bytes. Anything else is protocol-invalid. Hoist a strict length check into check_rkey() so the responder never reaches the unchecked dereference, and keep the existing WRITE-family length logic for the normal RDMA WRITE path.

Reproduced on mainline with an unmodified rxe driver: a sustained zero-length ATOMIC_WRITE probe repeatedly leaks adjacent skb head-buffer bytes into the attacker's MR, including recognisable kernel strings and partial kernel-direct-map pointer words. With this patch applied the responder rejects the PDU and the MR stays all-zero.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 034e285f8b99062a0cf29112e1232154a6a44aa5 to before 539cabb7b2d8ba70f55bba91db55faef11c2a6d7Affected
  • 034e285f8b99062a0cf29112e1232154a6a44aa5 to before d415fce3fcde6d7aeea6c25362a395b905811452Affected
  • 034e285f8b99062a0cf29112e1232154a6a44aa5 to before 105bf79a23b85cf3a761d18a4f3e10ce88526bc1Affected
  • 034e285f8b99062a0cf29112e1232154a6a44aa5 to before 7ec1ed4747f5f99f8b797bb438c5efd36079fad5Affected
  • 034e285f8b99062a0cf29112e1232154a6a44aa5 to before 1114c87aa6f195cf07da55a27b2122ae26557b26Affected
LinuxLinux
  • 6.2Affected
  • before 6.2Not affected
  • 6.6.140 through 6.6.*Not affected
  • 6.12.88 through 6.12.*Not affected
  • 6.18.30 through 6.18.*Not affected
  • 7.0.7 through 7.0.*Not affected
  • 7.1 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.