Description
In the Linux kernel, the following vulnerability has been resolved: nvmet-auth: validate reply message payload bounds against transfer length nvmet_auth_reply() accesses the variable-length rval[] array using attacker-controlled hl (hash length) and dhvlen (DH value length) fields without verifying they fit within the allocated buffer of tl bytes. A malicious NVMe-oF initiator can craft a DHCHAP_REPLY message with a small transfer length but large hl/dhvlen values, causing out-of-bounds heap reads when the target processes the DH public key (rval + 2*hl) or performs the host response memcmp. With DH authentication configured, the OOB pointer is passed directly to sg_init_one() and read by crypto_kpp_compute_shared_secret(), reaching up to 526 bytes past the buffer. This is exploitable pre-authentication. Add bounds validation ensuring sizeof(*data) + 2*hl + dhvlen <= tl before any access to the variable-length fields. Discovered by Atuin - Automated Vulnerability Discovery Engine.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
db1312dd95488b5e6ff362ff66fcf953a46b1821 to < 80cd28b56ab62d3e7ed0a7bf05282e6d3ee5b2a0affecteddb1312dd95488b5e6ff362ff66fcf953a46b1821 to < 999f6205ede984a786f35f727b01f971b98e215daffecteddb1312dd95488b5e6ff362ff66fcf953a46b1821 to < 6d7649c1231dac14d906985d2936967e23041c26affecteddb1312dd95488b5e6ff362ff66fcf953a46b1821 to < caa71b3a43ea5c13fe7141cb019ebcb03b8ac857affecteddb1312dd95488b5e6ff362ff66fcf953a46b1821 to < 3a413ece2504c70aa34a20be4dafec04e8c741f9affected
Linux Linux
Default version status: affected
6.0affected0 to < 6.0unaffected6.6.145 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/80cd28b56ab62d3e7ed0a7bf05282e6d3ee5b2a0 ↗
- https://git.kernel.org/stable/c/999f6205ede984a786f35f727b01f971b98e215d ↗
- https://git.kernel.org/stable/c/6d7649c1231dac14d906985d2936967e23041c26 ↗
- https://git.kernel.org/stable/c/caa71b3a43ea5c13fe7141cb019ebcb03b8ac857 ↗
- https://git.kernel.org/stable/c/3a413ece2504c70aa34a20be4dafec04e8c741f9 ↗