CVE-2024-52322: WebService::Xero 0.11 for Perl uses insecure rand() function for cryptographic functions Timothy Legge 05 Apr 2025 16:20 UTC

========================================================================
CVE-2024-52322                                       CPAN Security Group
========================================================================

         CVE ID:  CVE-2024-52322
   Distribution:  WebService-Xero
       Versions:  through 0.11

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

WebService::Xero 0.11 for Perl uses insecure rand() function for
cryptographic functions

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

Specifically WebService::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/LOCALSHOP/WebService-Xero-0.11/source/lib/WebService/Xero/Agent.pm#L17
https://metacpan.org/release/LOCALSHOP/WebService-Xero-0.11/source/lib/WebService/Xero/Agent.pm#L178
https://metacpan.org/release/LOCALSHOP/WebService-Xero-0.11/source/lib/WebService/Xero/Agent/PublicApplication.pm#L13
https://metacpan.org/release/LOCALSHOP/WebService-Xero-0.11/source/lib/WebService/Xero/Agent/PublicApplication.pm#L93

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