CVE-2026-30909

Crypt::NaCl::Sodium versions through 2.002 for Perl has potential integer overflows

Published Mar 8, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
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

Remediation

Vendor Solution

Upgrade to version 2.003

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Timlegge crypt\
CPEs cpe:2.3:a:timlegge:crypt\:\:nacl\:\:sodium:*:*:*:*:*:perl:*:*
Vendors & Products Timlegge crypt\
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Timlegge
Timlegge crypt::nacl::sodium
Vendors & Products Timlegge
Timlegge crypt::nacl::sodium
Type Values Removed Values Added
Description 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
Title Crypt::NaCl::Sodium versions through 2.002 for Perl has potential integer overflows
Weaknesses CWE-190
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
CPANSec
Published
Updated
Mar 10, 2026, 1:41 PM
Reserved
Mar 7, 2026, 1:09 PM
Status
Analyzed
Published
Mar 8, 2026, 1:15 AM
Modified
Jun 17, 2026, 10:33 AM