CVE-2026-3255

HTTP::Session2 versions before 1.12 for Perl may generate weak session ids using the rand() function

Published Feb 27, 2026 CVSS 3.1 · 6.5 Medium EPSS < 1% KEV · Not listed
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.

Remediation

Vendor Solution

HTTP::Session2 has been deprecated since version 1.11. Migrate to a different solution.


Vendor Workaround

Upgrade to version 1.12 or later.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Tokuhirom http\
CPEs cpe:2.3:a:tokuhirom:http\:\:session2:*:*:*:*:*:perl:*:*
Vendors & Products Tokuhirom http\
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Tokuhirom
Tokuhirom http::session2
Vendors & Products Tokuhirom
Tokuhirom http::session2
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
Weaknesses

Sources

Status
PUBLISHED
Assigner
CPANSec
Published
Updated
Mar 3, 2026, 8:23 PM
Reserved
Feb 26, 2026, 11:43 AM
Status
Analyzed
Published
Feb 27, 2026, 8:21 PM
Modified
Jun 17, 2026, 10:43 AM