CVE-2026-8463 PUBLISHED

Crypt::Argon2 versions from 0.017 before 0.031 for Perl perform a heap out-of-bounds read in argon2_verify on empty encoded input

Assigner: CPANSec
Reserved: 13.05.2026 Published: 13.05.2026 Updated: 13.05.2026

Crypt::Argon2 versions from 0.017 before 0.031 for Perl perform a heap out-of-bounds read in argon2_verify on empty encoded input.

The auto-detect form of argon2_verify passes encoded_len - 1 as the length argument to memchr without checking that encoded_len is non-zero. When the encoded string is empty, the size_t subtraction underflows to SIZE_MAX and memchr scans adjacent heap memory looking for a '$' separator byte.

A caller that invokes argon2_verify against a stored hash that may legitimately be empty (for example a placeholder row or a NULL column materialised as an empty string) reads out-of-bounds heap memory, which can crash the process or leak the position of an adjacent '$' byte into subsequent parsing.

Product Status

Vendor LEONT
Product Crypt::Argon2
Versions Default: unaffected
  • affected from 0.017 to 0.031 (excl.)

Solutions

Upgrade to Crypt-Argon2 0.031 or later.

References

Problem Types

  • CWE-126 Buffer Over-read CWE
  • CWE-191 Integer Underflow (Wrap or Wraparound) CWE