What’s Vulnerable › Vulnerabilities
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
- Severity: medium (CVSS 5.3 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-05-13 · updated 2026-10-26
- Weakness: CWE-126
Description
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.
Affected products
- LEONT Crypt::Argon2: from 0.017 before 0.031 — fixed in 0.031
How to fix
Upgrade to a fixed version: LEONT Crypt::Argon2 0.031. Check the vendor advisory for mitigations.
References
- https://github.com/Leont/crypt-argon2/commit/92eac03ce63d541e0ead7ea5a89b9b67ce0c0e64.patch
- https://metacpan.org/release/LEONT/Crypt-Argon2-0.031/changes
- http://www.openwall.com/lists/oss-security/2026/05/13/4
Get alerted when CVE-2026-8463 or the next vulnerability affects your stack