CVE-2026-3256: HTTP::Session versions through 0.53 for Perl defaults to using insecurely generated session ids Robert Rothenberg 28 Mar 2026 18:55 UTC

========================================================================
CVE-2026-3256                                        CPAN Security Group
========================================================================

         CVE ID:  CVE-2026-3256
   Distribution:  http-session
       Versions:  through 0.53

       MetaCPAN:  https://metacpan.org/dist/http-session
       VCS Repo:  https://github.com/tokuhirom/http-session

HTTP::Session versions through 0.53 for Perl defaults to using
insecurely generated session ids

Description
-----------
HTTP::Session versions through 0.53 for Perl defaults to using
insecurely generated session ids.

HTTP::Session defaults to using HTTP::Session::ID::SHA1 to generate
session ids using a SHA-1 hash seeded with the built-in rand function,
the high resolution 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.

The distribution includes HTTP::session::ID::MD5 which contains a
similar flaw, but uses the MD5 hash instead.

Problem types
-------------
- CWE-340 Generation of Predictable Numbers or Identifiers
- CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator

Workarounds
-----------
Users on systems with a /dev/urandom device should configure the module
to use HTTP::Session::ID::Urandom.

Users on systems without a /dev/urandom (such as Windows) device will
need to create custom ID modules that make use of module such as
Crypt::SysRandom or Crypt::URandom.

References
----------
https://metacpan.org/release/KTAT/http-session-0.53/source/lib/HTTP/Session/ID/SHA1.pm
https://metacpan.org/release/KTAT/http-session-0.53/source/lib/HTTP/Session/ID/MD5.pm
https://security.metacpan.org/docs/guides/random-data-for-security.html