Vulnerability Assessment
| Weakness |
CWE
|
| Impact | This vulnerability presents a complex risk profile where traditional risk metrics diverge from practical exploitation likelihood. The CVSS score of 5.3 (Medium) with AV:N, AC:L, PR:N, UI:N reflects network-accessible session ID prediction without requiring authentication or user interaction. However, the EPSS score of 0.02% (4th percentile) indicates very low observed exploitation probability in real-world scanning data, suggesting either limited deployment of the affected versions, low attacker interest, or the technical complexity of exploitation not yet manifesting at scale. The SSVC framework assessment (Exploitation: none, Automatable: yes, Technical Impact: partial) is critical: while no active exploitation is known, the attack is automatable (an attacker can programmatically brute-force session IDs given knowledge of approximate creation time and PID ranges), and the technical impact is partial (session hijacking enables unauthorized actions within the scope of the user's session). The CISA KEV status does not list this CVE as actively exploited, and no public exploit code is confirmed in the provided data. Patch availability (version 7.04) further reduces urgency. This is a real vulnerability requiring remediation in production deployments, but is not an emergency-organizations should prioritize patching systems running versions 7.00-7.03, particularly those in high-value or sensitive contexts, but this is not a critical-priority incident. |
| Exploit ScenarioDerived | An attacker targeting a web application using a vulnerable version of Amon2::Plugin::Web::CSRFDefender on a system without reliable /dev/urandom access can predict session IDs by enumerating likely PIDs (e.g., 1000-5000 on a typical system) and recent epoch timestamps (guessed or obtained from HTTP response headers). The attacker then crafts a request containing a guessed session ID and performs a CSRF attack or session hijacking by having a victim user's browser send the attacker's predicted session identifier, enabling the attacker to act as that user within the application. While the attack requires some reconnaissance and brute-force effort, SSVC confirms it is automatable, making it feasible for motivated threat actors or security researchers; however, the low EPSS score suggests this has not been widely weaponized. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 08, 2026
Amon2::Plugin::Web::CSRFDefender versions 7.00 through 7.03 for Perl generate cryptographically weak session IDs when /dev/urandom is unavailable, falling back to SHA-1 hashing seeded with predictable values (system PID, epoch time, and the unseeded rand() function). This allows attackers to forge valid session identifiers and potentially conduct session hijacking or CSRF attacks. The module is deprecated by its author, and CISA has not confirmed active exploitation; however, the automatable nature of the attack (as per SSVC) combined with the availability of fix version 7.04 indicates moderate practical risk despite the low EPSS score of 0.02%.
RemediationAI
Upgrade Amon2::Plugin::Web::CSRFDefender to version 7.04 or later. This can typically be done via CPAN package managers (e.g., 'cpan Amon2::Plugin::Web::CSRFDefender' or via system package managers if available). Consult the module changelog at https://metacpan.org/release/TOKUHIROM/Amon2-Plugin-Web-CSRFDefender-7.04/changes for specific fix details and any migration notes. Since the author has deprecated this module, organizations should evaluate whether to transition to an actively maintained CSRF defense library. For systems where immediate patching is not feasible, the fallback session ID generation should not be triggered by ensuring /dev/urandom is available on Unix-like systems, though this is a workaround and not a substitute for upgrading.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability stems from CWE-340 (Generation of Predictable Numbers or Identifiers) in the generate_session_id function of Amon2::Plugin::Web::CSRFDefender. The affected Perl module implements CSRF token defense by generating session identifiers. When the cryptographically secure /dev/urandom source is unavailable (e.g., on non-Unix systems or in restricted environments), the fallback mechanism uses SHA-1 with a seed constructed from three weak sources: the operating system PID (typically a small sequential value, often guessable or previously enumerated), the high-resolution epoch time (guessable or potentially leaked via HTTP Date headers), and Perl's built-in rand() function (a non-cryptographic PRNG unsuitable for security-sensitive operations). This combination allows an attacker to brute-force or predict session IDs without cryptographic strength. The module version 7.04 and later address this by presumably enforcing /dev/urandom or using a cryptographically appropriate alternative.
Know when Amon2 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Primary rating from Vendor (CPANSec) · only source for this CVE.
CVSS VectorVendor: CPANSec
DescriptionCVE.org
Amon2::Plugin::Web::CSRFDefender versions from 7.00 through 7.03 for Perl generate an insecure session id.
The generate_session_id function will attempt to read bytes from the /dev/urandom device, but if that is unavailable then it generates bytes using SHA-1 hash seeded with the built-in rand() function, the PID, and the high resolution epoch time. 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.
Amon2::Plugin::Web::CSRFDefender versions before 7.00 were part of Amon2, which was vulnerable to insecure session ids due to CVE-2025-15604.
Note that the author has deprecated this module.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-20060
GHSA-gr8m-rq4x-q7c8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB