Vulnerability · Published Jul 20, 2026 · Assigned by CPANSec
CVE-2026-13577Dancer2 versions before 2.2.0 for Perl generate insecure session ids when required CSPRNG modules are unavailable
High 8.2
In plain English
A high-severity security flaw in Dancer2. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 47% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Dancer2 versions before 2.2.0 for Perl generate insecure session ids when required CSPRNG modules are unavailable. Dancer2::Core::Role::SessionFactory::generate_id 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | libdancer2-perl | no fix listed | DEBIAN-CVE-2026-13577 |
| Debian:13 | libdancer2-perl | no fix listed | DEBIAN-CVE-2026-13577 |
| Debian:14 | libdancer2-perl | 2.2.2-1 | DEBIAN-CVE-2026-13577 |
| Ubuntu:22.04:LTS | libdancer2-perl | no fix listed | UBUNTU-CVE-2026-13577 |
| Ubuntu:24.04:LTS | libdancer2-perl | no fix listed | UBUNTU-CVE-2026-13577 |
| Ubuntu:26.04:LTS | libdancer2-perl | no fix listed | UBUNTU-CVE-2026-13577 |
| Ubuntu:26.10 | libdancer2-perl | no fix listed | UBUNTU-CVE-2026-13577 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Dancer2 | 0 – before 2.2.0 |
Weakness: CWE-340, CWE-338 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
References
- https://metacpan.org/release/CROMEDOME/Dancer2-2.2.0/changes release-notes
- https://github.com/PerlDancer/Dancer2/issues/1807 issue-tracking
- https://github.com/PerlDancer/Dancer2/pull/1804 issue-tracking
- https://github.com/PerlDancer/Dancer2/blob/v2.1.0/lib/Dancer2/Core/Role/SessionFactory.pm#L142
- https://www.cve.org/CVERecord?id=CVE-2026-5080 related