CVE-2026-53176

Severity CVSS v4.0:
Pending analysis
Type:
CWE-191 Integer Underflow (Wrap or Wraparound)
Publication date:
25/06/2026
Last modified:
15/07/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> IB/isert: Reject login PDUs shorter than ISER_HEADERS_LEN<br /> <br /> In drivers/infiniband/ulp/isert/ib_isert.c, isert_login_recv_done()<br /> computes the login request payload length as wc-&gt;byte_len minus<br /> ISER_HEADERS_LEN with no lower bound, and login_req_len is a signed int.<br /> A remote iSER initiator can post a login Send work request carrying<br /> fewer than ISER_HEADERS_LEN (76) bytes, so the subtraction underflows<br /> and login_req_len becomes negative.<br /> <br /> isert_rx_login_req() then reads that negative length back into a signed<br /> int, takes size = min(rx_buflen, MAX_KEY_VALUE_PAIRS), and because the<br /> min() is signed it keeps the negative value; the value is then passed as<br /> the memcpy() length and sign-extended to a multi-gigabyte size_t. The<br /> copy into the 8192-byte login-&gt;req_buf runs far out of bounds and<br /> faults, crashing the target node. The login phase precedes iSCSI<br /> authentication, so no credentials are required to reach this path.<br /> <br /> Reject any login PDU shorter than ISER_HEADERS_LEN before the<br /> subtraction, mirroring the existing early return on a failed work<br /> completion, so login_req_len can never go negative. The upper bound was<br /> already safe: a posted login buffer cannot deliver more than<br /> ISER_RX_PAYLOAD_SIZE, so the difference stays at or below<br /> MAX_KEY_VALUE_PAIRS and the existing min() clamps it; only the missing<br /> lower bound needs to be added.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.10 (including) 5.10.259 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.210 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.176 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.143 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.94 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.36 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 7.0.13 (excluding)
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc7:*:*:*:*:*:*