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