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
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| LEONT | Crypt::Argon2 | unaffected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Leont | Crypt::argon2 |
|
Vendor Solution
Upgrade to Crypt-Argon2 0.031 or later.
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.327% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Leont crypt::argon2
|
|
| Vendors & Products |
Leont crypt::argon2
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Leont
Leont crypt\ |
|
| CPEs | cpe:2.3:a:leont:crypt\:\:argon2:*:*:*:*:*:perl:*:* | |
| Vendors & Products |
Leont
Leont crypt\ |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | 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 | |
| Weaknesses | CWE-126 CWE-191 |
|
| References |
|