CVE-2024-58041: Smolder versions through 1.51 for Perl uses insecure rand() function for cryptographic functions Timothy Legge 23 Feb 2026 23:56 UTC


========================================================================
CVE-2024-58041                                       CPAN Security Group
========================================================================

         CVE ID:  CVE-2024-58041
   Distribution:  Smolder
       Versions:  through 1.51

       MetaCPAN:  https://metacpan.org/dist/Smolder

Smolder versions through 1.51 for Perl uses insecure rand() function
for cryptographic functions

Description
-----------
Smolder versions through 1.51 for Perl uses insecure rand() function
for cryptographic functions.

Smolder 1.51 and earlier for Perl uses the rand() function as the
default source of entropy, which is not cryptographically secure, for
cryptographic functions.

Specifically Smolder::DB::Developer uses the Data::Random library which
specifically states that it is "Useful mostly for test programs".
Data::Random uses the rand() function.

Problem types
-------------
- CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator
   (PRNG)

References
----------
https://perldoc.perl.org/functions/rand
https://security.metacpan.org/docs/guides/random-data-for-security.html
https://metacpan.org/release/BAREFOOT/Data-Random-0.13/source/lib/Data/Random.pm#L537
https://metacpan.org/release/WONKO/Smolder-1.51/source/lib/Smolder/DB/Developer.pm#L5
https://metacpan.org/release/WONKO/Smolder-1.51/source/lib/Smolder/DB/Developer.pm#L221

Credits
-------
Robert Rothenberg (RRWO), finder