CVE 9.1 CRITICAL

RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv_CVE-2026-46043

9.1 / 10
CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Description

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

RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv

rxe_rcv() currently checks only that the incoming packet is at least
header_size(pkt) bytes long before payload_size() is used.

However, payload_size() subtracts both the attacker-controlled BTH pad
field and RXE_ICRC_SIZE from pkt->paylen:

payload_size = pkt->paylen - offset[RXE_PAYLOAD] - bth_pad(pkt)
- RXE_ICRC_SIZE

This means a short packet can still make payload_size() underflow even
if it includes enough bytes for the fixed headers. Simply requiring
header_size(pkt) + RXE_ICRC_SIZE is not sufficient either, because a
packet with a forged non-zero BTH pad can still leave payload_size()
negative and pass an underflowed value to later receive-path users.

Fix this by validating pkt->paylen against the full minimum length
required by payload_size(): header_size(pkt) + bth_pad(pkt) +
RXE_ICRC_SIZE.

Basic Information

ID CVE-2026-46043
Source Linux
Published May 27, 2026 at 12:56
Modified May 30, 2026 at 10:46

Affected Product

Vendor Linux
Product Linux
Version 8700e3e7c4857d28ebaa824509934556da0b3e76
Affected Versions Linux Linux 8700e3e7c4857d28ebaa824509934556da0b3e76
Linux Linux 8700e3e7c4857d28ebaa824509934556da0b3e76
Linux Linux 8700e3e7c4857d28ebaa824509934556da0b3e76
Linux Linux 8700e3e7c4857d28ebaa824509934556da0b3e76
Linux Linux 8700e3e7c4857d28ebaa824509934556da0b3e76
Linux Linux 4.8

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.