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.
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.