CVE-2025-40923
Plack-Middleware-Session before version 0.35 for Perl generates session ids insecurely
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
7.3
Plack-Middleware-Session before version 0.35 for Perl generates session ids insecurely
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.
- Record
CVE-2025-40923- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-340, CWE-338
- Updated
- 2026-11-02
EUVDEUVD-2025-21693
7.3
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.
- Record
EUVD-2025-21693- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-868p-jhqw-wrgr
7.3
Plack-Middleware-Session before version 0.35 for Perl generates session ids insecurely. The...
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.
- Record
GHSA-868p-jhqw-wrgr- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-338
- Updated
- 2026-11-02
NVD
7.3
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.
- Record
CVE-2025-40923- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-338, CWE-340
- Updated
- 2026-11-02
OSV
7.3
Plack-Middleware-Session before version 0.35 for Perl generates session ids insecurely
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.
- Record
CVE-2025-40923- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-338, CWE-340
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-40923
7.3
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.
- Record
DEBIAN-CVE-2025-40923- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-40923
7.3
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.
- Record
UBUNTU-CVE-2025-40923- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libplack-middleware-session-perlDebian:12 |
All versions, plus listed versions 0.33-20.34-10.36-1 |
None known |
libplack-middleware-session-perlDebian:13 |
All versions, plus listed versions 0.34-10.36-1 |
None known |
libplack-middleware-session-perlDebian:14 |
before 0.36-1, plus listed versions 0.34-1 |
0.36-1 |
libplack-middleware-session-perlUbuntu:16.04:LTS |
All versions, plus listed versions 0.30-1 |
None known |
libplack-middleware-session-perlUbuntu:18.04:LTS |
All versions, plus listed versions 0.30-10.30-2 |
None known |
libplack-middleware-session-perlUbuntu:20.04:LTS |
All versions, plus listed versions 0.32-10.33-1 |
None known |
libplack-middleware-session-perlUbuntu:22.04:LTS |
All versions, plus listed versions 0.33-1 |
None known |
libplack-middleware-session-perlUbuntu:24.04:LTS |
All versions, plus listed versions 0.33-2 |
None known |
libplack-middleware-session-perlUbuntu:25.10 |
All versions, plus listed versions 0.34-10.36-1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-40923 is a high vulnerability (CVSS 7.3) in Miyagawa Plack::middleware::session, published July 16, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.39%, the 33rd percentile. Fixed in libplack-middleware-session-perl 0.36-1.
References
metacpan.org/release/MIYAGAWA/Plack-Middleware-Session-0.34/source/lib/Plack/Session/State.pm
github.com/plack/Plack-Middleware-Session/pull/52
github.com/plack/Plack-Middleware-Session/commit/1fbfbb355e34e7f4b3906f66cf958cedadd2b9be.patch
security.metacpan.org/docs/guides/random-data-for-security.html
openwall.com/lists/oss-security/2025/07/16/4
nvd.nist.gov/vuln/detail/CVE-2025-40923
Show 8 moreShow less
github.com/advisories/GHSA-868p-jhqw-wrgr
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40923.json
github.com/plack/Plack-Middleware-Session
security-tracker.debian.org/tracker/CVE-2025-40923
ubuntu.com/security/CVE-2025-40923
cve.org/CVERecord?id=CVE-2025-40923
lists.security.metacpan.org/cve-announce/msg/31223483