CVE-2026-13577: Dancer2 versions before 2.2.0 for Perl generate insecure session ids when required CSPRNG modules are unavailable
Dancer2 versions before 2.2.0 for Perl generate insecure session ids when required CSPRNG modules are unavailable.
Dancer2::Core::Role::SessionFactory::generateid silently falls back to a built-in rand-derived session id unless both Math::Random::ISAAC::XS and Crypt::URandom are available.
The fallback session id is generated from a SHA-1 hash of a call to the built-in rand function, the absolute path of the Dancer2::Core::Role::SessionFactory module, an internal counter, the process id, the module instance memory address, and a shuffled string of characters (using the List::Util::shuffle function, which also uses the built-in rand function).
These are all low-entropy and easily guessed sources.
The built-in rand() function is seeded with 32-bits and considered unsuitable for security applications.
Predictable session ids could allow an attacker to gain access to systems.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Dancer2 (Perl)to a version that resolves this vulnerability.Fixed in 2.2.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-13577?
CVE-2026-13577 has a high severity rating of 8.2 according to the CVSS 3.1 scores.
How do I fix CVE-2026-13577?
To fix CVE-2026-13577, ensure that CSPRNG modules like Math::Random::ISAAC::XS or Crypt::URandom are available and properly configured in your environment.
What systems are affected by CVE-2026-13577?
CVE-2026-13577 affects Dancer2 versions through 2.1.0 when CSPRNG modules are unavailable.
What are the consequences of CVE-2026-13577?
CVE-2026-13577 can lead to the generation of insecure session IDs, increasing the risk of session hijacking and related attacks.
How can I check if I am impacted by CVE-2026-13577?
To check for impact from CVE-2026-13577, review your Dancer2 deployment for CSPRNG module availability and verify the version in use.