IB/isert: Reject login PDUs shorter than ISER_HEADERS_LEN (Linux Linux)

CVE-2026-53176
CRITICAL 9.8

En bref

Source
NVD
EPSS
EPSS 0.76 % · centile 55 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Modified

Description

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.

Faiblesses (CWE)

  • CWE-839 — Numeric Range Comparison Without Minimum Check
  • CWE-191 — Soupassement d'entier

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1CRITICAL 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1MEDIUM 6.5CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:Hredhat-SADP
CVSS 3.1CRITICAL 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)
CVSS 3.1MEDIUM 6.5CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HNVD · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c (Secondary)

Références européennes

Avis du CERT-FR

Configurations affectées (CPE NVD)

Produits affectés

ProduitVersions
Linux · Linuxaffected b8d26b3be8b33682cf163274ed07479a70554633 < 75ee6e4aa096aa9e7b2dd5c8ff98356e30aceefb ; affected b8d26b3be8b33682cf163274ed07479a70554633 < e8a013c0c3ca2f6708341a56612a3f6d6921620a ; affected b8d26b3be8b33682cf163274ed07479a70554633 < bd22740d7f14cb1c0289444cfd2c8d2938667c1d ; affected b8d26b3be8b33682cf163274ed07479a70554633 < c1234229399f4af12c553b1b0ffd978eeba65548 ; affected b8d26b3be8b33682cf163274ed07479a70554633 < c5584e089b5af7b3bf8bd5e8ca0560cbf32b0a47 ; affected b8d26b3be8b33682cf163274ed07479a70554633 < df422fd273c96c2ee5beb80fc21adc8c70c29260
Linux · Linuxaffected 3.10 ; unaffected 0 < 3.10 ; unaffected 5.10.259 ≤ 5.10.* ; unaffected 5.15.210 ≤ 5.15.* ; unaffected 6.1.176 ≤ 6.1.* ; unaffected 6.6.143 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD