Crypt::NaCl::Sodium versions through 2.002 for Perl has potential integer overflows.
bin2hex, encrypt, aes256gcm_encrypt_afternm and seal functions do not check that output size will be less than SIZE_MAX, which could lead to integer wraparound causing an undersized output buffer.
Encountering this issue is unlikely as the message length would need to be very large.
For bin2hex() the bin_len would have to be > SIZE_MAX / 2 For encrypt() the msg_len would need to be > SIZE_MAX - 16U For aes256gcm_encrypt_afternm() the msg_len would need to be > SIZE_MAX - 16U For seal() the enc_len would need to be > SIZE_MAX - 64U
{
"cna_assigner": "CPANSec",
"cwe_ids": [
"CWE-190"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/30xxx/CVE-2026-30909.json"
}{
"cpe": "cpe:2.3:a:timlegge:crypt\\:\\:nacl\\:\\:sodium:*:*:*:*:*:perl:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"last_affected": "2.002"
},
{
"fixed": "2.003"
}
],
"source": [
"AFFECTED_FIELD",
"CPE_RANGE"
]
}