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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| HAARG | Catalyst::Plugin::Session | 0.01 – < 0.44 | 0.44 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | libcatalyst-plugin-session-perl | 0.44-1 | — |
| Debian 13 | libcatalyst-plugin-session-perl | No fix yet | — |
| Debian 12 | libcatalyst-plugin-session-perl | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | libcatalyst-plugin-session-perl | No fix yet | — |
| Ubuntu 26.04 LTS | libcatalyst-plugin-session-perl | No fix yet | — |
| Ubuntu 25.10 | libcatalyst-plugin-session-perl | No fix yet | — |
| Ubuntu 24.04 LTS | libcatalyst-plugin-session-perl | No fix yet | — |
| Ubuntu 22.04 LTS | libcatalyst-plugin-session-perl | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | libcatalyst-plugin-session-perl | No fix yet | — |
| Ubuntu 18.04 LTS | libcatalyst-plugin-session-perl | No fix yet | — |
| Ubuntu 16.04 LTS | libcatalyst-plugin-session-perl | No fix yet | — |
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 issue-tracking
- https://github.com/perl-catalyst/Catalyst-Plugin-Session/commit/c0e2b4ab1e42ebce1008286db8c571b6ee98c22c.patch patch