CVE-2026-93709 json
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
published 2026-09-22 48 d ago modified 2026-09-23 46 d ago also EUVD-2026-84255
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 39%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- libdancer2-perl Debian 14 2.2.2-1
debian advisories DEBIAN-CVE-2026-93709
- perl-Dancer2 openSUSE Tumbleweed 2.2.2-1.1
opensuse advisories openSUSE-SU-2026:12202-1
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 46 d ago
Exploit prediction
0.45% chance of exploitation in the next 30 days, higher than 39% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Classification
- Weakness
-
- CWE-41 Improper Resolution of Path Equivalence
References
-
github.com
/PerlDancer/Dancer2/commit/293fce08812b0928f34ab2d7b9357450707c3630.patch
patch
-
github.com
/PerlDancer/Dancer2/commit/753b385350a54acb8d4b686723890205268634a8.patch
patch
-
github.com
/PerlDancer/Dancer2/issues/1823
issue-tracking
-
metacpan.org
/release/CROMEDOME/Dancer2-2.2.0/changes
release-notes
- openwall.com /lists/oss-security/2026/09/22/1
Sources
- CVE List CVE-2026-93709
- NVD CVE-2026-93709
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.