Description
Plack-Middleware-Session before version 0.35 for Perl generates session ids insecurely.
The default session id generator returns a SHA-1 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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| MIYAGAWA | Plack::Middleware::Session | 0.01 – < 0.35 | 0.35 |
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 | libplack-middleware-session-perl | 0.36-1 | — |
| Debian 13 | libplack-middleware-session-perl | No fix yet | — |
| Debian 12 | libplack-middleware-session-perl | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 25.10 | libplack-middleware-session-perl | No fix yet | — |
| Ubuntu 24.04 LTS | libplack-middleware-session-perl | No fix yet | — |
| Ubuntu 22.04 LTS | libplack-middleware-session-perl | No fix yet | — |
| Ubuntu 20.04 LTS | libplack-middleware-session-perl | No fix yet | — |
| Ubuntu 18.04 LTS | libplack-middleware-session-perl | No fix yet | — |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | libplack-middleware-session-perl | No fix yet | — |
References
- https://metacpan.org/release/MIYAGAWA/Plack-Middleware-Session-0.34/source/lib/Plack/Session/State.pm#L22
- https://github.com/plack/Plack-Middleware-Session/pull/52
- https://github.com/plack/Plack-Middleware-Session/commit/1fbfbb355e34e7f4b3906f66cf958cedadd2b9be.patch patch
- https://security.metacpan.org/docs/guides/random-data-for-security.html