CVE-2026-8463

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:leont:crypt\:\:argon2:*:*:*:*:*:perl:*:*

History

26 Oct 2026, 14:10

Type Values Removed Values Added
Summary
  • (es) Las versiones de Crypt::Argon2 desde la 0.017 anteriores a la 0.031 para Perl realizan una lectura fuera de límites del heap en argon2_verify con una entrada codificada vacía. La forma de autodetección de argon2_verify pasa encoded_len - 1 como argumento de longitud a memchr sin verificar que encoded_len no sea cero. Cuando la cadena codificada está vacía, la resta de size_t subdesborda a SIZE_MAX y memchr escanea memoria heap adyacente buscando un byte separador ’$’. Un llamador que invoca argon2_verify contra un hash almacenado que puede estar legítimamente vacío (por ejemplo, una fila de marcador de posición o una columna NULL materializada como una cadena vacía) lee memoria heap fuera de límites, lo que puede bloquear el proceso o filtrar la posición de un byte ’$’ adyacente en el análisis posterior.

Information

Published : 2026-05-13 14:18

Updated : 2026-10-26 14:10


NVD link : CVE-2026-8463

Mitre link : CVE-2026-8463

CVE.ORG link : CVE-2026-8463


JSON object : View

Products Affected

leont

  • crypt\
CWE
CWE-126

Buffer Over-read

CWE-191

Integer Underflow (Wrap or Wraparound)