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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| JDEGUEST | Apache::API::Password | ≤ 0.5.2 | — |
References
- https://metacpan.org/release/JDEGUEST/Apache2-API-v0.5.3/changes release-notes
- https://metacpan.org/release/JDEGUEST/Apache2-API-v0.5.2/view/lib/Apache2/API/Password.pod related
- https://security.metacpan.org/docs/guides/random-data-for-security.html technical-description
- https://metacpan.org/pod/Crypt::URandom