CVE-2026-90230

CVE-2026-90230

Critical · published September 17, 2026

CVSS v3.1
9.1
EPSS
0%
Percentile
38.7
In the wild
Unconfirmed
What it is

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

nvmet: fix heap out-of-bounds read in nvmet_auth_negotiate()

nvmet_execute_auth_send() allocates the DH-HMAC-CHAP message buffer with

the host-supplied transfer length (tl) and hands it to

nvmet_auth_negotiate() without passing tl along. nvmet_auth_negotiate()

then reads the negotiate header and, for each of the halen hash

identifiers and dhlen DH group identifiers, indexes into the fixed

idlist[60] array (hashes at idlist[0..halen), groups at idlist[30..]).

Neither the transfer length nor halen/dhlen is validated. A malicious or

non-conformant host can report a tl smaller than the negotiate structure,

or a halen/dhlen larger than the array (both are u8, up to 255), making

the loops read past the end of the allocated buffer (heap out-of-bounds

read). The sibling nvmet_auth_reply() already validates tl against the

structure size; the negotiate path did not.

Pass tl into nvmet_auth_negotiate(), reject a tl that does not cover the

negotiate data plus one full protocol descriptor, and reject halen/dhlen

larger than NVME_AUTH_DHCHAP_MAX_DH_IDS.

The record
Technical detail
CVSS v3.1
9.1 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00457 · 38.7th percentile
Published
2026-09-17T21:17Z
References (5)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:07Z
    nvmet: fix heap out-of-bounds read in nvmet_auth_negotiate()
    cvelistv5