CVE-2025-40924: Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely
Stig Palmquist 17 Jul 2025 13:39 UTC
========================================================================
CVE-2025-40924 CPAN Security Group
========================================================================
CVE ID: CVE-2025-40924
Distribution: Catalyst-Plugin-Session
Versions: from 0.01 before 0.44
MetaCPAN: https://metacpan.org/dist/Catalyst-Plugin-Session
VCS Repo: https://github.com/perl-catalyst/Catalyst-Plugin-Session
Catalyst::Plugin::Session before version 0.44 for Perl generates
session ids insecurely
Description
-----------
Catalyst::Plugin::Session before version 0.44 for Perl generates
session ids insecurely.
The session id is generated from a (usually SHA-1) hash of a simple
counter, the epoch time, the built-in rand function, the PID and the
current Catalyst context. This information is of low entropy. 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
---------
Users are advised to upgrade to Catalyst-Plugin-Session version 0.44 or
later.
References
----------
https://metacpan.org/release/HAARG/Catalyst-Plugin-Session-0.43/source/lib/Catalyst/Plugin/Session.pm#L632
https://github.com/perl-catalyst/Catalyst-Plugin-Session/pull/5
https://github.com/perl-catalyst/Catalyst-Plugin-Session/commit/c0e2b4ab1e42ebce1008286db8c571b6ee98c22c.patch