Plack-Middleware-Session before version 0.35 for Perl generates session ids insecurely
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- Low · Low · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Plack::Middleware::Session (MIYAGAWA) Fixed in 0.35
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2025-40923
- 2026-10-03 Alias added: GHSA-868p-jhqw-wrgr
References
More MIYAGAWA vulnerabilities
- TI-2014-08412 Plack::Middleware::Session::Cookie versions through 0.21 for Perl allows remote code… CVSS 3.1CRITICAL 9.8
- TI-2026-06484 Information disclosure in MIYAGAWA Plack::Middleware::XSendfile CVSS 3.1CRITICAL 9.1
- TI-2026-29301 Starman versions before 0.4018 for Perl allows HTTP Request Smuggling via Improper Header… CVSS 3.1HIGH 7.5
- TI-2013-06174 Plack::Middleware::Session versions before 0.17 for Perl may be vulnerable to HMAC comparison timing attacks CVSS 3.1HIGH 7.5
Sources
- CVE-2025-40923 · CVE Program
- CVE-2025-40923 · NVD
- FIRST EPSS
- GHSA-868p-jhqw-wrgr · GitHub Advisory Database · CC BY 4.0
- CVE-2025-40923 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences