Impact
Dancer2 versions through 2.1.0 generate session identifiers using an insecure fallback when the required cryptographically secure random number generator modules are not available. The fallback relies on a SHA‑1 hash of low‑entropy data such as a seeded rand() call, module paths, counters, and process identifiers, which are predictable. This weakness is a misuse of weak randomness and corresponds to CWE‑338 and CWE‑340. The result is that session IDs can be guessed, enabling an attacker to hijack sessions and gain unauthorized access to a system that uses the vulnerable framework.
Affected Systems
The vendor is CROMEDOME, providing the Dancer2 Perl framework. All releases up to and including version 2.1.0 are impacted when the optional Math::Random::ISAAC::XS and Crypt::URandom modules are missing from the application’s PERL5LIB path. Users deploying Dancer2 without these modules will receive insecure session IDs.
Risk and Exploitability
The CVSS score of 8.2 classifies this vulnerability as high severity, while the EPSS score of <1% indicates a very low current exploitation likelihood. The vulnerability is not listed in the CISA KEV catalog. Based on the description, the likely attack vector is that an adversary with access to a running Dancer2 application lacking the CSPRNG modules can predict session identifiers by recreating the deterministic fallback hash process. This allows session hijacking without special privileges, presenting a system‑wide risk for any user exposed to the vulnerable framework.
OpenCVE Enrichment