CVE-2026-5080

Dancer::Session::Abstract versions through 1.3522 for Perl generates session ids insecurely

Published Apr 30, 2026 CVSS 3.1 · 5.9 Medium EPSS < 1% KEV · Not listed
Description
Dancer::Session::Abstract versions through 1.3522 for Perl generates session ids insecurely.

The session id is generated from summing the character codepoints of the absolute pathname with the process id, the epoch time and calls to the built-in rand() function to return a number between 0 and 999-billion, and concatenating that result three times.

The path name might be known or guessed by an attacker, especially for applications known to be written using Dancer with standard installation locations.

The epoch time can be guessed by an attacker, and may be leaked in the HTTP header.

The process id comes from a small set of numbers, and workers may have sequential process ids.

The built-in rand() function is seeded with 32-bits and is considered unsuitable for security applications.

Predictable session ids could allow an attacker to gain access to systems.

Analysis

AI-generated

Technical impact

This vulnerability exists in the Perl module Dancer::Session::Abstract released through version 1.3522. Session identifiers are created by summing the character codepoints of the absolute pathname, the process identifier, the epoch time, and multiple calls to Perl's built-in rand() function, then concatenating the result three times. Because the pathname can be known or guessed, the epoch time can be inferred or leaked via HTTP headers, the process ID comes from a limited set of numbers, and rand() is seeded with a weak 32‑bit value, the generated session IDs are highly predictable. This falls under CWE-338 and CWE-340, in which a cryptographically insecure random number generator is used.

Affected Systems

The affected product is BIGPRESH's Dancer::Session::Abstract, any installation of the module through version 1.3522. All applications that rely on the default session ID generation mechanism within that version range are impacted; no specific operating system or deployment environment was mentioned, so the threat covers all environments where this module is active.

Risk and Exploitability

The CVSS score is 5.9, indicating moderate severity. The EPSS score is not available, indicating limited public exploitation data, and the defect is not listed in the CISA KEV catalog. An attacker can exploit this weakness by guessing or brute‑forcing session identifiers, especially when the application uses standard installation locations that reveal the pathname, exposes epoch time in HTTP headers, or runs with process IDs that are sequential. The existence of an official patch mitigates the risk by improving the randomness of session ID construction.

Remediation

Vendor Workaround

Apply the linked patch.


OpenCVE Recommended Actions

  • Apply the linked patch (CVE-2026-5080-r1) to Dancer::Session::Abstract to replace the insecure random number generation logic
  • Replace the session ID generator with a cryptographically secure source, such as Math::Random::Secure or similar libraries
  • Avoid leaking epoch time in HTTP responses and use non‑standard, non‑guessable application directories to reduce path‑based predictability

Generated by OpenCVE AI on May 1, 2026 at 05:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Perldancer
Perldancer dancer\
CPEs cpe:2.3:a:perldancer:dancer\:\:session\:\:abstract:*:*:*:*:*:perl:*:*
Vendors & Products Perldancer
Perldancer dancer\
Type Values Removed Values Added
First Time appeared Bigpresh
Bigpresh dancer::session::abstract
Vendors & Products Bigpresh
Bigpresh dancer::session::abstract
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Dancer::Session::Abstract versions through 1.3522 for Perl generates session ids insecurely. The session id is generated from summing the character codepoints of the absolute pathname with the process id, the epoch time and calls to the built-in rand() function to return a number between 0 and 999-billion, and concatenating that result three times. The path name might be known or guessed by an attacker, especially for applications known to be written using Dancer with standard installation locations. The epoch time can be guessed by an attacker, and may be leaked in the HTTP header. The process id comes from a small set of numbers, and workers may have sequential process ids. The built-in rand() function is seeded with 32-bits and is considered unsuitable for security applications. Predictable session ids could allow an attacker to gain access to systems.
Title Dancer::Session::Abstract versions through 1.3522 for Perl generates session ids insecurely
Weaknesses CWE-338
CWE-340
References
Weaknesses
  • CWE-338

    Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)

  • CWE-340

    Generation of Predictable Numbers or Identifiers

Sources

Status
PUBLISHED
Assigner
CPANSec
Published
Updated
Apr 30, 2026, 6:29 PM
Reserved
Mar 28, 2026, 7:06 PM
Status
Analyzed
Published
Apr 30, 2026, 12:16 PM
Modified
Oct 26, 2026, 9:10 PM