CVE-2026-46114
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
28/05/2026
Última modificación:
30/05/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads<br />
<br />
atomic_write_reply() at drivers/infiniband/sw/rxe/rxe_resp.c<br />
unconditionally dereferences 8 bytes at payload_addr(pkt):<br />
<br />
value = *(u64 *)payload_addr(pkt);<br />
<br />
check_rkey() previously accepted an ATOMIC_WRITE request with pktlen ==<br />
resid == 0 because the length validation only compared pktlen against<br />
resid. A remote initiator that sets the RETH length to 0 therefore reaches<br />
atomic_write_reply() with a zero-byte logical payload, and the responder<br />
reads sizeof(u64) bytes from past the logical end of the packet into<br />
skb->head tailroom, then writes those 8 bytes into the attacker&#39;s MR via<br />
rxe_mr_do_atomic_write(). That is a remote disclosure of 4 bytes of kernel<br />
tailroom per probe (the other 4 bytes are the packet&#39;s own trailing ICRC).<br />
<br />
IBA oA19-28 defines ATOMIC_WRITE as exactly 8 bytes. Anything else is<br />
protocol-invalid. Hoist a strict length check into check_rkey() so the<br />
responder never reaches the unchecked dereference, and keep the existing<br />
WRITE-family length logic for the normal RDMA WRITE path.<br />
<br />
Reproduced on mainline with an unmodified rxe driver: a sustained<br />
zero-length ATOMIC_WRITE probe repeatedly leaks adjacent skb head-buffer<br />
bytes into the attacker&#39;s MR, including recognisable kernel strings and<br />
partial kernel-direct-map pointer words. With this patch applied the<br />
responder rejects the PDU and the MR stays all-zero.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/105bf79a23b85cf3a761d18a4f3e10ce88526bc1
- https://git.kernel.org/stable/c/1114c87aa6f195cf07da55a27b2122ae26557b26
- https://git.kernel.org/stable/c/539cabb7b2d8ba70f55bba91db55faef11c2a6d7
- https://git.kernel.org/stable/c/7ec1ed4747f5f99f8b797bb438c5efd36079fad5
- https://git.kernel.org/stable/c/d415fce3fcde6d7aeea6c25362a395b905811452



