CVE-2026-53176 PUBLISHED

IB/isert: Reject login PDUs shorter than ISER_HEADERS_LEN

Assigner: Linux
Reserved: 09.06.2026 Published: 25.06.2026 Updated: 25.06.2026

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

IB/isert: Reject login PDUs shorter than ISER_HEADERS_LEN

In drivers/infiniband/ulp/isert/ib_isert.c, isert_login_recv_done() computes the login request payload length as wc->byte_len minus ISER_HEADERS_LEN with no lower bound, and login_req_len is a signed int. A remote iSER initiator can post a login Send work request carrying fewer than ISER_HEADERS_LEN (76) bytes, so the subtraction underflows and login_req_len becomes negative.

isert_rx_login_req() then reads that negative length back into a signed int, takes size = min(rx_buflen, MAX_KEY_VALUE_PAIRS), and because the min() is signed it keeps the negative value; the value is then passed as the memcpy() length and sign-extended to a multi-gigabyte size_t. The copy into the 8192-byte login->req_buf runs far out of bounds and faults, crashing the target node. The login phase precedes iSCSI authentication, so no credentials are required to reach this path.

Reject any login PDU shorter than ISER_HEADERS_LEN before the subtraction, mirroring the existing early return on a failed work completion, so login_req_len can never go negative. The upper bound was already safe: a posted login buffer cannot deliver more than ISER_RX_PAYLOAD_SIZE, so the difference stays at or below MAX_KEY_VALUE_PAIRS and the existing min() clamps it; only the missing lower bound needs to be added.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to 75ee6e4aa096aa9e7b2dd5c8ff98356e30aceefb (excl.)
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to e8a013c0c3ca2f6708341a56612a3f6d6921620a (excl.)
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to bd22740d7f14cb1c0289444cfd2c8d2938667c1d (excl.)
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to c1234229399f4af12c553b1b0ffd978eeba65548 (excl.)
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to c5584e089b5af7b3bf8bd5e8ca0560cbf32b0a47 (excl.)
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to df422fd273c96c2ee5beb80fc21adc8c70c29260 (excl.)
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to 1ca40b243277c9e88be5e00bd3e083f71aefb93e (excl.)
  • affected from b8d26b3be8b33682cf163274ed07479a70554633 to 29e7b925ae6df64894e82ab6419994dc25580a8a (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.10 is affected
  • unaffected from 0 to 3.10 (excl.)
  • unaffected from 5.10.259 to 5.10.* (incl.)
  • unaffected from 5.15.210 to 5.15.* (incl.)
  • unaffected from 6.1.176 to 6.1.* (incl.)
  • unaffected from 6.6.143 to 6.6.* (incl.)
  • unaffected from 6.12.94 to 6.12.* (incl.)
  • unaffected from 6.18.36 to 6.18.* (incl.)
  • unaffected from 7.0.13 to 7.0.* (incl.)
  • unaffected from 7.1 to * (incl.)

References