CVE-2025-40931

CRITICALNVD 9.19.1
EchelonGraph scoreMEDIUM confidence

Score 9.1 from GitHub Security Advisory (severity: CRITICAL) published 2026-03-05. NVD baseline CVSS 9.1; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
9.1EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 1%CVSS: 9.1Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

Apache::Session::Generate::MD5 versions through 1.94 for Perl create insecure session id.

Apache::Session::Generate::MD5 generates session ids insecurely. The default session id generator returns a MD5 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. Predicable session ids could allow an attacker to gain access to systems.

Note that the libapache-session-perl package in some Debian-based Linux distributions may be patched to use Crypt::URandom.

CVSS v3
9.1
EG Score
9.1(medium)
EG Risk
56(Track)
EG Risk 56/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity91% × 45%
Exploitation1% × 40%
Automatability100% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
1%
EPSS %ILE
47%
KEV
Not listed

Published

March 5, 2026

Last Modified

June 17, 2026

Advisory Details (9)

Auto-updated Sep 16, 2026
Patch available.
generic

oss-security - CVE-2025-40931: Apache::Session::Generate::MD5 versions through 1.94 for Perl create insecure session id

http://www.openwall.com/lists/oss-security/2026/03/05/3
generic

oss-security - Apache::Session's use of md5 and more

https://www.openwall.com/lists/oss-security/2019/06/15/1
generic

CPAN Author’s Guide to Random Data for Security — CPAN Security Group (CPANSec) 🦆

https://security.metacpan.org/docs/guides/random-data-for-security.html
generic

Replace MD5 by Crypt::URandom (bdabd71c) · Commits · Debian Perl Group / modules / packages / libapache-session-perl · GitLab

https://salsa.debian.org/perl-team/modules/packages/libapache-session-perl/-/commit/bdabd71c2f91b18526e31a9dc52b4c17b3d246b7#898a4b8b00022df1b8689910b67707f3e738d180
generic

Apache::Session::Generate::Random - use system randomness for generating session ids - metacpan.org

https://metacpan.org/pod/Apache::Session::Generate::Random
generic

Better random generation (#1633) · Issues · LemonLDAP NG / lemonldap-ng · GitLab

https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/work_items/1633
generic

Improve session generation · Issue #4 · chorny/Apache-Session · GitHub

https://github.com/chorny/Apache-Session/issues/4
generic Patch Available

#930659 - libapache-session-perl: poor source of entropy for session id generation - Debian Bug report logs

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930659

Affected Packages

(4 across 4 ecosystems)
Debian:11(1)
PackageVulnerable rangeFixed inDependents
libapache-session-perl1.94-1, 1.94-2
Debian:12(1)
PackageVulnerable rangeFixed inDependents
libapache-session-perl1.94-2
Debian:13(1)
PackageVulnerable rangeFixed inDependents
libapache-session-perl1.94-2
Debian:14(1)
PackageVulnerable rangeFixed inDependents
libapache-session-perl1.94-2

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 5× in last 7d / 26× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 216 total refreshes for this CVE.

  1. 2026-09-18 19:27 UTCEPSS rescore
  2. 2026-09-17 19:29 UTCEPSS rescore
  3. 2026-09-16 14:07 UTCEPSS rescore
  4. 2026-09-16 05:14 UTCEPSS rescore
  5. 2026-09-13 16:46 UTCEPSS rescore
  6. 2026-09-12 15:00 UTCEPSS rescore
  7. 2026-09-11 14:52 UTCEPSS rescore
  8. 2026-09-11 09:35 UTCEPSS rescore
  9. 2026-09-10 09:33 UTCEPSS rescore
  10. 2026-09-08 21:59 UTCEPSS rescore
  11. 2026-09-07 16:00 UTCEPSS rescore
  12. 2026-09-06 13:46 UTCEPSS rescore
  13. 2026-09-04 05:05 UTCEPSS rescore
  14. 2026-09-02 14:11 UTCEPSS rescore
  15. 2026-09-01 13:53 UTCEPSS rescore
  16. 2026-09-01 04:38 UTCEPSS rescore
  17. 2026-09-01 01:04 UTCOSV refresh
  18. 2026-08-30 19:16 UTCEPSS rescore
  19. 2026-08-30 01:21 UTCEPSS rescore
  20. 2026-08-28 21:40 UTCEPSS rescore
  21. 2026-08-27 14:24 UTCEPSS rescore
  22. 2026-08-26 14:45 UTCEPSS rescore
  23. 2026-08-25 13:48 UTCEPSS rescore
  24. 2026-08-23 00:18 UTCEPSS rescore
  25. 2026-08-21 23:48 UTCEPSS rescore
Show 75 more
  1. 2026-08-20 22:54 UTCEPSS rescore
  2. 2026-08-19 17:03 UTCEPSS rescore
  3. 2026-08-19 17:03 UTCEPSS rescore
  4. 2026-08-18 13:47 UTCEPSS rescore
  5. 2026-08-17 13:46 UTCEPSS rescore
  6. 2026-08-16 14:55 UTCEPSS rescore
  7. 2026-08-16 02:13 UTCEPSS rescore
  8. 2026-08-15 01:29 UTCEPSS rescore
  9. 2026-08-15 01:17 UTCGHSA enrichment
  10. 2026-08-14 20:55 UTCGHSA enrichment
  11. 2026-08-14 12:54 UTCGHSA enrichment
  12. 2026-08-14 08:33 UTCEG score recompute
  13. 2026-08-14 08:33 UTCGHSA enrichment
  14. 2026-08-13 21:59 UTCEPSS rescore
  15. 2026-08-13 04:37 UTCGHSA enrichment
  16. 2026-08-13 00:14 UTCEG score recompute
  17. 2026-08-13 00:14 UTCGHSA enrichment
  18. 2026-08-12 13:50 UTCEPSS rescore
  19. 2026-08-11 23:13 UTCEG score recompute
  20. 2026-08-11 23:13 UTCGHSA enrichment
  21. 2026-08-11 05:47 UTCEG score recompute
  22. 2026-08-11 05:47 UTCGHSA enrichment
  23. 2026-08-10 13:03 UTCGHSA enrichment
  24. 2026-08-10 07:52 UTCGHSA enrichment
  25. 2026-08-10 02:50 UTCGHSA enrichment
  26. 2026-08-09 22:20 UTCGHSA enrichment
  27. 2026-08-09 17:59 UTCEG score recompute
  28. 2026-08-09 17:59 UTCGHSA enrichment
  29. 2026-08-09 13:46 UTCEPSS rescore
  30. 2026-08-09 13:38 UTCGHSA enrichment
  31. 2026-08-09 08:11 UTCEG score recompute
  32. 2026-08-09 08:11 UTCGHSA enrichment
  33. 2026-08-08 16:36 UTCEPSS rescore
  34. 2026-08-08 09:10 UTCGHSA enrichment
  35. 2026-08-08 04:48 UTCGHSA enrichment
  36. 2026-08-08 00:22 UTCGHSA enrichment
  37. 2026-08-07 20:01 UTCEG score recompute
  38. 2026-08-07 20:01 UTCGHSA enrichment
  39. 2026-08-07 16:26 UTCEPSS rescore
  40. 2026-08-06 13:46 UTCEPSS rescore
  41. 2026-08-06 07:01 UTCGHSA enrichment
  42. 2026-08-06 02:40 UTCEG score recompute
  43. 2026-08-06 02:40 UTCGHSA enrichment
  44. 2026-08-04 15:09 UTCEPSS rescore
  45. 2026-08-04 10:37 UTCEPSS rescore
  46. 2026-08-04 02:30 UTCEG score recompute
  47. 2026-08-04 02:30 UTCGHSA enrichment
  48. 2026-08-03 10:35 UTCEPSS rescore
  49. 2026-08-02 23:18 UTCGHSA enrichment
  50. 2026-08-02 18:56 UTCEG score recompute
  51. 2026-08-02 18:56 UTCGHSA enrichment
  52. 2026-08-02 02:26 UTCEPSS rescore
  53. 2026-08-01 04:15 UTCEPSS rescore
  54. 2026-07-30 16:27 UTCEPSS rescore
  55. 2026-07-30 01:29 UTCEPSS rescore
  56. 2026-07-28 15:35 UTCEPSS rescore
  57. 2026-07-26 14:54 UTCEPSS rescore
  58. 2026-07-25 14:17 UTCEPSS rescore
  59. 2026-07-25 14:17 UTCEPSS rescore
  60. 2026-07-24 14:17 UTCEPSS rescore
  61. 2026-07-23 02:55 UTCEG score recompute
  62. 2026-07-22 14:07 UTCEPSS rescore
  63. 2026-07-22 14:07 UTCEPSS rescore
  64. 2026-07-21 15:24 UTCEPSS rescore
  65. 2026-07-20 17:07 UTCEPSS rescore
  66. 2026-07-19 14:30 UTCEPSS rescore
  67. 2026-07-19 14:30 UTCEPSS rescore
  68. 2026-07-19 02:28 UTCEPSS rescore
  69. 2026-07-19 02:28 UTCEPSS rescore
  70. 2026-07-18 10:04 UTCEPSS rescore
  71. 2026-07-18 10:04 UTCEPSS rescore
  72. 2026-07-17 18:29 UTCOSV refresh
  73. 2026-07-16 17:02 UTCEPSS rescore
  74. 2026-07-15 16:57 UTCEPSS rescore
  75. 2026-07-15 16:57 UTCEPSS rescore

Frequently asked(5)

What is CVE-2025-40931?
CVE-2025-40931 is a critical vulnerability published on March 5, 2026. Apache::Session::Generate::MD5 versions through 1.94 for Perl create insecure session id. Apache::Session::Generate::MD5 generates session ids insecurely. The default session id generator returns a MD5 hash seeded with the built-in rand() function, the epoch time, and the PID. The PID will come…
When was CVE-2025-40931 disclosed?
CVE-2025-40931 was first published in the National Vulnerability Database on March 5, 2026, with the most recent update on June 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-40931 actively exploited?
CVE-2025-40931 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 1% probability of exploitation in the next 30 days, which ranks it in the top 53.4% of all scored CVEs.
What is the CVSS score of CVE-2025-40931?
CVE-2025-40931 has a CVSS v3 base score of 9.1 (NVD).
How do I remediate CVE-2025-40931?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-40931, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2025-40931

Explore →

Is Your Infrastructure Affected by CVE-2025-40931?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.