CVE-2025-40924: HAARG Catalyst::Plugin::Session · Generation of Predictable Numbers or Identifiers
Affects HAARG Catalyst::Plugin::SessionSource CVE Database V5
Not known to be exploited · CVSS 6.5 Medium.
Data as of 26 Oct 2026, 10:12 UTC
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 22% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 17 Jul 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| HAARG Catalyst::Plugin::Session | Affected
| Fixed in– |
AI-suggested
- Immediate upgrade: Organizations should upgrade Catalyst::Plugin::Session to version 0.44 or later, where the session ID generation mechanism has been improved to use cryptographically secure random number generators.
- Patch backporting: For environments where upgrading is not immediately feasible, backport patches that replace the built-in rand() with a cryptographically secure RNG (e.g., Perl's Crypt::Random or /dev/urandom) and increase entropy sources.
- Session management review: Implement additional session security controls such as regenerating session IDs upon authentication, enforcing short session lifetimes, and binding sessions to client IP or user-agent where appropriate.
- HTTP header hardening: Remove or restrict HTTP Date headers to reduce information leakage about epoch time.
- Monitoring and detection: Deploy anomaly detection to identify suspicious session ID patterns or repeated session fixation attempts.
- Security testing: Conduct penetration testing focused on session management to verify the effectiveness of mitigations.
- User education: Inform developers about the importance of cryptographically secure random number generation in session management to prevent recurrence.
Description
Catalyst::Plugin::Session before version 0.44 for Perl generates session ids insecurely. The session id is generated from a (usually SHA-1) hash of a simple counter, the epoch time, the built-in rand function, the PID and the current Catalyst context. This information is of low entropy. 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.
References
- metacpan.org/release/HAARG/Catalyst-Plugin-Session-0.43/source/lib/Catalyst/Plugin/Session.pm (opens in a new tab)
- github.com/perl-catalyst/Catalyst-Plugin-Session/pull/5 (opens in a new tab)
- github.com/perl-catalyst/Catalyst-Plugin-Session/commit/c0e2b4ab1e42ebce1008286db8c571b6ee98c22c.patch (opens in a new tab)