CVE-2025-40931: Apache::Session::Generate::MD5 versions through 1.94 for Perl create insecure session id Timothy Legge 05 Mar 2026 01:42 UTC

+=======================================================================
CVE-2025-40931                                       CPAN Security Group
========================================================================

         CVE ID:  CVE-2025-40931
   Distribution:  Apache-Session
       Versions:  through 1.94

       MetaCPAN:  https://metacpan.org/dist/Apache-Session
       VCS Repo:  https://github.com/chorny/Apache-Session

Apache::Session::Generate::MD5 versions through 1.94 for Perl create
insecure session id

Description
-----------
Apache::Session::Generate::MD5 versions through 1.94 for Perl create
insecure session id.

Apache::Session::Generate::MD5 generates session ids insecurely. The
default session id generator returns a MD5 hash seeded with the
built-in rand() function, the epoch time, and the PID. The PID will
come from a small set of numbers, and the epoch time may be guessed, if
it is not leaked from the HTTP Date header. The built-in rand function
is unsuitable for cryptographic usage. Predicable session ids could
allow an attacker to gain access to systems.

Problem types
-------------
- CWE-340 Generation of Predictable Numbers or Identifiers
- CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator

Solutions
---------
Consider alternate solutions like
https://metacpan.org/pod/Apache::Session::Generate::Random

References
----------
https://metacpan.org/dist/Apache-Session/source/lib/Apache/Session/Generate/MD5.pm#L27
https://security.metacpan.org/docs/guides/random-data-for-security.html

Credits
-------
Robert Rothenberg, finder