CVE-2025-40926

Summary

Plack::Middleware::Session::Simple versions before 0.05 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.

Predictable session ids could allow an attacker to gain access to systems.

Plack::Middleware::Session::Simple is intended to be compatible with Plack::Middleware::Session, which had a similar security issue CVE-2025-40923.

Affected Software

VendorProductVersion RangeStatus
KAZEBUROPlack::Middleware::Session::Simple0 < 0.05affected

Weaknesses

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

Workarounds

Users are advised to change the sid_generator attribute of Plack::Middleware::Session::Simple to a function that returns a securely generated session id based on a secure source of entropy from the system.

Users may consider using Plack::Middleware::Session version 0.35 or later.

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: yes
    • Technical Impact: total

References