CVE-2025-40931: CHORNY Apache::Session::Generate::MD5 · Generation of Predictable Numbers or Identifiers
Affects CHORNY Apache::Session::Generate::MD5Source CVE Database V5
Not known to be exploited · CVSS 9.1 Critical.
Data as of 30 Oct 2026, 11:52 UTC
Contested
Critical score, yet low EPSS after six months- EPSS
- 0.6% chance of exploitation in 30 days – higher than 48% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 5 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| CHORNYApache::Session::Generate::MD5 | Affected
| Fixed in– |
GitHubApache-Sessionpkg:github/Apache-SessionOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
As a mitigation, users of Debian-based distributions should verify if their libapache-session-perl package has been patched to use Crypt::URandom instead of the vulnerable MD5 generator. Until an official fix is available, consider replacing Apache::Session::Generate::MD5 with a cryptographically secure session ID generator.
Description
CVE-2025-40931 affects Apache::Session::Generate::MD5 for Perl, which generates session IDs using an insecure method. The session IDs are created by hashing a combination of the built-in rand() function, epoch time, and process ID (PID) with MD5. Because rand() is not cryptographically secure, and the PID and epoch time can be guessed or inferred, the session IDs are predictable. This predictability could allow attackers to hijack sessions and gain unauthorized access. Some Debian-based distributions have patched this by replacing the generator with Crypt::URandom. No official patch or vendor advisory is provided for the original module. The vulnerability has a CVSS score of 9.1, indicating critical severity.
References
- metacpan.org/dist/Apache-Session/source/lib/Apache/Session/Generate/MD5.pm (opens in a new tab)
- security.metacpan.org/docs/guides/random-data-for-security.html (opens in a new tab)
- github.com/chorny/Apache-Session/issues/4 (opens in a new tab)
- rt.cpan.org/Ticket/Display.html?id=173631 (opens in a new tab)
- openwall.com/lists/oss-security/2019/06/15/1 (opens in a new tab)
- bugs.debian.org/cgi-bin/bugreport.cgi?bug=930659 (opens in a new tab)
- salsa.debian.org/perl-team/modules/packages/libapache-session-perl/-/commit/bdabd71c2f91b18526e31a9dc52b4c17b3d246b7 (opens in a new tab)
- gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/work_items/1633 (opens in a new tab)
- metacpan.org/pod/Apache::Session::Generate::Random (opens in a new tab)
- openwall.com/lists/oss-security/2026/03/05/3 (opens in a new tab)