Description
Dancer2 versions before 2.2.0 for Perl serve a layout as a page when an equivalent spelling of its path misses the guard in the AutoPage handler.

The handler compares the request path against the layout directory name as text, while the lookup that follows canonicalises it. A doubled slash, a dot segment, a percent-encoded slash, or a different capitalisation on a case-insensitive filesystem therefore misses the guard.

The handler is off by default, enabled with auto_page. The layout wrapping every page is already public, so this discloses one of the application's other layouts.
Published: 2026-09-22
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Patch Now
AI Analysis

Impact

Dancer2 versions prior to 2.2.0 contain a flaw in the AutoPage handler where the request path is compared as plain text against the layout directory name, while the subsequent lookup canonicalises the path. Because of this, differences such as a doubled slash, a dot segment, a percent‑encoded slash, or case variations on a case‑insensitive filesystem bypass the guard. When this occurs an attacker can request a layout file and receive it as a normal page, effectively exposing the content of the layout (which is normally only used for internal wrapping). The vulnerability therefore results in the disclosure of potentially sensitive templating code or application structure, an instance of information disclosure classified as CWE‑41.

Affected Systems

The affected product is Dancer2 for Perl. Any installation of Dancer2 with a version earlier than 2.2.0 that has the AutoPage feature enabled (auto_page) is susceptible. This includes users running 2.0.x, 2.1.x, and other pre‑2.2.0 releases on any operating system, regardless of case sensitivity of the file system.

Risk and Exploitability

The vulnerability can be exploited via a crafted HTTP GET request that uses path variations to reach the layout directory. No privileged access or authentication is required; the AutoPage handler is enabled by default only when the application author explicitly turns it on. The CVSS score of 5.3 indicates moderate severity, and the EPSS score of <1% shows a very low probability of exploitation. Because the patch release exists and there is no evidence of exploitation listed in the KEV catalog, the risk remains moderate, and the exposure is limited to the contents of the layout files.

Generated by OpenCVE AI on September 23, 2026 at 21:43 UTC.

Remediation

Vendor Solution

Upgrade to Dancer2 2.2.0 or later.


OpenCVE Recommended Actions

  • Upgrade Dancer2 to version 2.2.0 or later
  • If immediate upgrade is not possible, disable the AutoPage feature by setting auto_page => 0 in the Dancer2 configuration
  • Ensure that the layout directory is not served directly by the web server or that its permissions restrict public access

Generated by OpenCVE AI on September 23, 2026 at 21:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 28 Sep 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Perldancer
Perldancer dancer2
Vendors & Products Perldancer
Perldancer dancer2

Wed, 23 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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

ssvc

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


Tue, 22 Sep 2026 03:30:00 +0000

Type Values Removed Values Added
References

Tue, 22 Sep 2026 01:00:00 +0000

Type Values Removed Values Added
Description Dancer2 versions before 2.2.0 for Perl serve a layout as a page when an equivalent spelling of its path misses the guard in the AutoPage handler. The handler compares the request path against the layout directory name as text, while the lookup that follows canonicalises it. A doubled slash, a dot segment, a percent-encoded slash, or a different capitalisation on a case-insensitive filesystem therefore misses the guard. The handler is off by default, enabled with auto_page. The layout wrapping every page is already public, so this discloses one of the application's other layouts.
Title Dancer2 versions before 2.2.0 for Perl serve a layout as a page when an equivalent spelling of its path misses the guard in the AutoPage handler
Weaknesses CWE-41
References

Subscriptions

Perldancer Dancer2
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-09-23T19:45:35.340Z

Reserved: 2026-09-18T15:05:23.319Z

Link: CVE-2026-93709

cve-icon Vulnrichment

Updated: 2026-09-22T02:09:44.163Z

cve-icon NVD

Status : Deferred

Published: 2026-09-22T01:16:55.610

Modified: 2026-09-23T20:17:23.067

Link: CVE-2026-93709

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-28T19:48:06Z

Weaknesses
  • CWE-41

    Improper Resolution of Path Equivalence