Security Advisories (1)
CVE-2025-40924 (2025-07-17)

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.

Changes for version 0.20 - 2009-02-05

  • No code changes since 0.19_01 dev release.
  • Add IDEAS.txt which is an irc log of discussion about the next-generation session plugin from discussion on #catalyst-dev
  • Remove TODO file, which is no longer relevant.

Changes for version 0.19_01 - 2009-01-09

  • Switch from using NEXT to Class::C3 for method re-dispatch.
  • Use shipit to package the dist.
  • Switch to Module::install.
  • Flash data is now stored inside the session (key "__flash") to avoid duplicate entry errors caused by simultaneous select/insert/delete of flash rows when using DBI as a Store. (Sergio Salvi)
  • Fix session finalization order that caused HTTP responses to be sent before the session is actually finalized and stored in its Store. (Sergio Salvi)

Documentation

Understanding and using sessions.

Modules

Generic Session plugin - ties together server side storage and client side state required to maintain session data.
Base class for session state preservation plugins.
Base class for session storage drivers.
Doesn't really store sessions - useful for tests.
Reusable sanity for session storage engines.

Provides

in lib/Catalyst/Plugin/Session/Test/Store.pm
in lib/Catalyst/Plugin/Session/Test/Store.pm
in lib/Catalyst/Plugin/Session/Test/Store.pm
t1
in lib/Catalyst/Plugin/Session/Test/Store.pm
t2
in lib/Catalyst/Plugin/Session/Test/Store.pm