CVE-2026-46114 Details
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.
A vulnerability in the Linux kernel's RDMA/rxe implementation allows for remote memory disclosure. The issue arises because the `check_rkey()` function improperly validates the length of ATOMIC_WRITE payloads. A remote initiator can exploit this by setting the RETH length to zero, causing the responder to read past the end of the packet into kernel memory. This leak includes recognizable kernel strings and partial pointers, which can be exploited. The vulnerability affects the Linux kernel's stable releases, specifically in the RDMA/rxe driver.
The vulnerability has been addressed by introducing a strict length check in the `check_rkey()` function, ensuring that the responder does not reach the unchecked dereference. This patch is available in the Linux kernel stable releases.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/105bf79a23b85cf3a761d18a4f3e10ce88526bc1 | kernel.org | Patch |
| https://git.kernel.org/stable/c/1114c87aa6f195cf07da55a27b2122ae26557b26 | kernel.org | Patch |
| https://git.kernel.org/stable/c/539cabb7b2d8ba70f55bba91db55faef11c2a6d7 | kernel.org | Patch |
| https://git.kernel.org/stable/c/7ec1ed4747f5f99f8b797bb438c5efd36079fad5 | kernel.org | Patch |
| https://git.kernel.org/stable/c/d415fce3fcde6d7aeea6c25362a395b905811452 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-476 | NULL Pointer Dereference | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 6.2, < 6.6.140 >= 6.7, < 6.12.88 >= 6.13, < 6.18.30 >= 6.19, < 7.0.7 7.1 rc1 7.1 rc2 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 24, 2026 | Initial Analysis | [email protected] |
| Jun 17, 2026 | CVE Modified | kernel.org |
| May 30, 2026 | CVE Modified | kernel.org |
| May 28, 2026 | New CVE Received | kernel.org |