CVE-2024-56370: Net::Xero 0.044 and earlier for Perl uses insecure rand() function for cryptographic functions Timothy Legge 05 Apr 2025 18:27 UTC

========================================================================
CVE-2024-56370                                       CPAN Security Group
========================================================================

         CVE ID:  CVE-2024-56370
   Distribution:  Net-Xero
       Versions:  through 0.44

       MetaCPAN:  https://metacpan.org/dist/Net-Xero

Net::Xero 0.044 and earlier for Perl uses insecure rand() function for
cryptographic functions

Description
-----------
Net::Xero 0.044 and earlier for Perl uses the rand() function as the
default source of entropy, which is not cryptographically secure, for
cryptographic functions.

Specifically Net::Xero 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/ELLIOTT/Net-Xero-0.44/source/lib/Net/Xero.pm#L58
https://metacpan.org/release/ELLIOTT/Net-Xero-0.44/source/lib/Net/Xero.pm#L9

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