CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low-entropy sources.
The generate_id method builds the session id from a MD5 digest of the process id, the epoch time, and the built-in rand() function. All three are predictable, low-entropy sources: the PID is drawn from a small range, the epoch time can be guessed or read from the HTTP Date header, and Perl's rand() is unsuitable for security purposes because it is predictable and reversible.
An attacker who predicts a session id can impersonate the corresponding session and bypass authentication.
Metrics
Affected Vendors & Products
References
History
Mon, 06 Jul 2026 23:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Markstos
Markstos cgi::session::id::md5 |
|
| Vendors & Products |
Markstos
Markstos cgi::session::id::md5 |
Thu, 02 Jul 2026 00:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-331 | |
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
Wed, 01 Jul 2026 14:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
Wed, 01 Jul 2026 08:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low-entropy sources. The generate_id method builds the session id from a MD5 digest of the process id, the epoch time, and the built-in rand() function. All three are predictable, low-entropy sources: the PID is drawn from a small range, the epoch time can be guessed or read from the HTTP Date header, and Perl's rand() is unsuitable for security purposes because it is predictable and reversible. An attacker who predicts a session id can impersonate the corresponding session and bypass authentication. | |
| Title | CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low-entropy sources | |
| Weaknesses | CWE-338 CWE-340 |
|
| References |
|
Status: PUBLISHED
Assigner: CPANSec
Published: 2026-07-01T06:46:23.589Z
Updated: 2026-07-01T17:36:49.480Z
Reserved: 2026-06-18T11:27:09.117Z
Link: CVE-2026-56016
Updated: 2026-07-01T17:36:49.480Z
No data.