CVE-2026-5088

Apache::API::Password versions through 0.5.2 for Perl can generate insecure random values for salts

Published Apr 15, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
Apache::API::Password versions through 0.5.2 for Perl can generate insecure random values for salts.

The _make_salt and _make_salt_bcrypt methods will attept to load Crypt::URandom and then Bytes::Random::Secure to generate random bytes for the salt. If those modules are unavailable, it will simply return 16 bytes generated with Perl's built-in rand function.

The rand function is unsuitable for cryptographic use.

These salts are used for password hashing.

Remediation

Vendor Solution

Upgrade to version v0.5.3 or later, and install Crypt::URandom.


Vendor Workaround

Install Crypt::URandom.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Jdeguest apache\
CPEs cpe:2.3:a:jdeguest:apache\:\:api\:\:password:*:*:*:*:*:perl:*:*
Vendors & Products Jdeguest apache\
Type Values Removed Values Added
Description Apache::API::Password versions through v0.5.2 for Perl can generate insecure random values for salts. The _make_salt and _make_salt_bcrypt methods will attept to load Crypt::URandom and then Bytes::Random::Secure to generate random bytes for the salt. If those modules are unavailable, it will simply return 16 bytes generated with Perl's built-in rand function. The rand function is unsuitable for cryptographic use. These salts are used for password hashing. Apache::API::Password versions through 0.5.2 for Perl can generate insecure random values for salts. The _make_salt and _make_salt_bcrypt methods will attept to load Crypt::URandom and then Bytes::Random::Secure to generate random bytes for the salt. If those modules are unavailable, it will simply return 16 bytes generated with Perl's built-in rand function. The rand function is unsuitable for cryptographic use. These salts are used for password hashing.
Title Apache::API::Password versions through v0.5.2 for Perl can generate insecure random values for salts Apache::API::Password versions through 0.5.2 for Perl can generate insecure random values for salts
Type Values Removed Values Added
Metrics cvssV3_1

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

ssvc

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

Type Values Removed Values Added
First Time appeared Jdeguest
Jdeguest apache::api::password
Vendors & Products Jdeguest
Jdeguest apache::api::password
Type Values Removed Values Added
Description Apache::API::Password versions through v0.5.2 for Perl can generate insecure random values for salts. The _make_salt and _make_salt_bcrypt methods will attept to load Crypt::URandom and then Bytes::Random::Secure to generate random bytes for the salt. If those modules are unavailable, it will simply return 16 bytes generated with Perl's built-in rand function. The rand function is unsuitable for cryptographic use. These salts are used for password hashing.
Title Apache::API::Password versions through v0.5.2 for Perl can generate insecure random values for salts
Weaknesses CWE-338
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
CPANSec
Published
Updated
May 1, 2026, 4:03 PM
Reserved
Mar 28, 2026, 7:31 PM
Status
Analyzed
Published
Apr 15, 2026, 8:16 AM
Modified
Oct 26, 2026, 10:10 PM