CVE-2026-56016
CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low-entropy sources
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.9
CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low-entropy sources
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.
- Record
CVE-2026-56016- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-340, CWE-338
- Updated
- 2026-11-02
EUVDEUVD-2026-40927
5.9
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.
- Record
EUVD-2026-40927- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r49c-4q8x-x33v
5.9
CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low...
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.
- Record
GHSA-r49c-4q8x-x33v- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-338
- Updated
- 2026-11-02
NVD
5.9
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.
- Record
CVE-2026-56016- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-338, CWE-340
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-56016
5.9
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.
- Record
ALPINE-CVE-2026-56016- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-56016
5.9
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.
- Record
DEBIAN-CVE-2026-56016- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-56016
5.9
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.
- Record
UBUNTU-CVE-2026-56016- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVMGASA-2026-0286 No score
Updated perl-CGI-Session package fixes a security vulnerability
The updated package fixes a security vulnerability: CGI::Session::ID::md5 versions before 4.49 for Perl generate predictable session ids from low-entropy sources. (CVE-2026-56016)
- Record
MGASA-2026-0286- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11168-1 No score
perl-CGI-Session-4.490.0-1.1 on GA media
These are all security issues fixed in the perl-CGI-Session-4.490.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11168-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perl-cgi-sessionAlpine:v3.24 |
before 4.49-r0 | 4.49-r0 |
libcgi-session-perlDebian:12 |
All versions, plus listed versions 4.48-44.49-1 |
None known |
libcgi-session-perlDebian:13 |
All versions, plus listed versions 4.48-44.49-1 |
None known |
libcgi-session-perlDebian:14 |
before 4.49-1, plus listed versions 4.48-4 |
4.49-1 |
perl-CGI-SessionMageia:10 |
before 4.490.0-1.mga10 | 4.490.0-1.mga10 |
libcgi-session-perlUbuntu:16.04:LTS |
All versions, plus listed versions 4.48-24.48-3 |
None known |
libcgi-session-perlUbuntu:18.04:LTS |
All versions, plus listed versions 4.48-3 |
None known |
libcgi-session-perlUbuntu:20.04:LTS |
All versions, plus listed versions 4.48-3 |
None known |
libcgi-session-perlUbuntu:22.04:LTS |
All versions, plus listed versions 4.48-3 |
None known |
libcgi-session-perlUbuntu:24.04:LTS |
All versions, plus listed versions 4.48-4 |
None known |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libcgi-session-perlUbuntu:25.10 |
All versions, plus listed versions 4.48-4build1 |
None known |
libcgi-session-perlUbuntu:26.10 |
All versions, plus listed versions 4.48-4build14.49-1 |
None known |
libcgi-session-perlUbuntu:26.04:LTS |
All versions, plus listed versions 4.48-4build1 |
None known |
perl-CGI-SessionopenSUSE:Tumbleweed |
before 4.490.0-1.1 | 4.490.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-56016 is a medium vulnerability (CVSS 5.9) in Markstos Cgi::session::id::md5, published July 1, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.51%, the 43rd percentile. Fixed in perl-cgi-session 4.49-r0.
References
metacpan.org/release/MARKSTOS/CGI-Session-4.49/changes
metacpan.org/release/MARKSTOS/CGI-Session-4.49/source/lib/CGI/Session/ID/md5.pm
openwall.com/lists/oss-security/2026/07/01/6
nvd.nist.gov/vuln/detail/CVE-2026-56016
github.com/advisories/GHSA-r49c-4q8x-x33v
security.alpinelinux.org/vuln/CVE-2026-56016
Show 8 moreShow less
security-tracker.debian.org/tracker/CVE-2026-56016
advisories.mageia.org/MGASA-2026-0286.html
bugs.mageia.org/show_bug.cgi?id=35800
lists.opensuse.org/archives/list/[email protected]/message/OXFQ3DBWPONO7MHLPUC3HP44MVOLIY4B
ubuntu.com/security/CVE-2026-56016
cve.org/CVERecord?id=CVE-2026-56016
lists.security.metacpan.org/cve-announce/msg/41439279
suse.com/security/cve/CVE-2026-56016