HTTP::Session2 versions before 1.12 for Perl for Perl may generate weak session ids using the rand() function. The HTTP::Session2 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. HTTP::Session2 after version 1.02 will attempt to use the /dev/urandom device to generate a session id, but if the device is unavailable (for example, under Windows), then it will revert to the insecure method described above.
History

Fri, 27 Feb 2026 20:30:00 +0000

Type Values Removed Values Added
Description HTTP::Session2 versions before 1.12 for Perl for Perl may generate weak session ids using the rand() function. The HTTP::Session2 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. HTTP::Session2 after version 1.02 will attempt to use the /dev/urandom device to generate a session id, but if the device is unavailable (for example, under Windows), then it will revert to the insecure method described above.
Title HTTP::Session2 versions before 1.12 for Perl may generate weak session ids using the rand() function
Weaknesses CWE-338
CWE-340
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-02-27T20:12:35.414Z

Reserved: 2026-02-26T11:43:17.278Z

Link: CVE-2026-3255

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-02-27T20:21:41.180

Modified: 2026-02-27T20:21:41.180

Link: CVE-2026-3255

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.