Skip to main content
← All vulnerabilities
CVE-2026-64319

nvmet-auth: validate reply message payload bounds against transfer length

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.145, 6.12.96, 6.18.39, 7.1.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

The affected software is the Linux kernel's NVMe-over-Fabrics target authentication code (nvmet-auth, used for DH-HMAC-CHAP authentication). A remote, unauthenticated NVMe-oF initiator could send a crafted authentication reply that causes the kernel to read past the end of a heap buffer, which could lead to information disclosure or a kernel crash.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    Version range not reported

  • Linux Linux

    6.0

  • KernelLinux

    From 6.0.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.96; From 6.13.0 · fixed in 6.18.39; From 6.19.0 · fixed in 7.1.4

References 6

git.kernel.org