| Summary | In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Reject unknown opcodes before ICRC processing Even after applying commit 7244491dab34 ("RDMA/rxe: Validate pad and ICRC The check added there reads pkt->paylen < header_size(pkt) + bth_pad(pkt) + RXE_ICRC_SIZE where header_size(pkt) expands to rxe_opcode[pkt->opcode].length. The pkt->paylen < 0 + bth_pad(pkt) + RXE_ICRC_SIZE which does not constrain pkt->paylen enough. rxe_icrc_hdr() then computes rxe_opcode[pkt->opcode].length - RXE_BTH_BYTES which underflows when length == 0 and passes a huge value to rxe_crc32(), Reproduced on v7.0-rc7 with that fix applied, QEMU/KVM with rdma link add rxe0 type rxe netdev eth0 A single 48-byte UDP packet to port 4791 with BTH opcode=0xff and BUG: KASAN: slab-out-of-bounds in crc32_le+0x115/0x170 Subsequent packets with the same shape fault on unmapped memory and panic Fix this by rejecting packets whose opcode has no rxe_opcode[] entry, |
|---|---|
| Publication Date | May 28, 2026, 7:16 p.m. |
| Registration Date | May 29, 2026, 4:12 a.m. |
| Last Update | May 28, 2026, 10:44 p.m. |