{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2025-40931 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2025-40931 yet. Limit exposure of the affected software until one is available.","what":"CVE-2025-40931 is a critical vulnerability in CHORNY Apache::Session::Generate::MD5, published on 5 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2025-40931 and fix it if it is affected.\n\nWhat it is: CVE-2025-40931 is a critical vulnerability in CHORNY Apache::Session::Generate::MD5, published on 5 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2025-40931 in the wild and no public exploit code.\n\nAffected product: CHORNY Apache::Session::Generate::MD5. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-40931/ (Markdown: https://insights.sbomify.com/CVE-2025-40931/index.md)","id":"CVE-2025-40931","markdown":"https://insights.sbomify.com/CVE-2025-40931/index.md","name":"CVE-2025-40931","record":{"aliases":["DEBIAN-CVE-2025-40931","GHSA-32fg-c88m-mcrv","UBUNTU-CVE-2025-40931"],"analysis":{"component_type":"library","fix_type":"patch","impacts":["account_takeover"],"network_reachable":"yes","non_default_config":false,"product_category":"Perl session library","requires_auth":"none","summary":"Insecure session ID generation in Apache::Session::Generate::MD5 allows attackers to predict IDs and hijack user sessions.","user_interaction":"not_required","vuln_class":"weak_cryptography"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"CPANSec","cpe":[{"product":"apache\\","vendor":"chorny"}],"cvss":{"score":9.1,"severity":"critical","source":"cisa-adp","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-340","name":"Generation of Predictable Numbers or Identifiers"},{"id":"CWE-338","name":"Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)"}],"description":"Apache::Session::Generate::MD5 versions through 1.94 for Perl create insecure session id.\n\nApache::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.\n\nNote that the libapache-session-perl package in some Debian-based Linux distributions may be patched to use Crypt::URandom.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":false,"headline":"Apache::Session::Generate::MD5 versions through 1.94 for Perl create insecure session id","id":"CVE-2025-40931","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"weak_cryptography","year":"2025"},"n_packages":0,"n_references":9,"next":{"headline":"Apache::SessionX versions through 2.01 for Perl create insecure session id","id":"CVE-2025-40932"},"packages":[],"prev":{"headline":"Integer overflow in JSON::SIMD","id":"CVE-2025-40930"},"products":["Apache::Session::Generate::MD5"],"published":"2026-03-05","related":[{"cvss_score":9.1,"headline":"Apache::Session versions through 1.94 for Perl re-creates deleted sessions","id":"CVE-2013-10075","kev_date_added":null,"published":"2026-05-08"},{"cvss_score":9.1,"headline":"Apache::Session::Generate::ModUniqueId versions from 1.54 through 1.94 for Perl session ids are insecure","id":"CVE-2026-5081","kev_date_added":null,"published":"2026-05-06"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-04-21","vendors":["CHORNY"]},"summary":"Insecure session ID generation in Apache::Session::Generate::MD5 allows attackers to predict IDs and hijack user sessions.","url":"https://insights.sbomify.com/CVE-2025-40931/"}