CVE-2026-93709

NameCVE-2026-93709
DescriptionDancer2 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
libdancer2-perl (PTS)bookworm0.400001+dfsg-1vulnerable
trixie1.1.2+dfsg-1vulnerable
forky, sid2.1.0-1vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
libdancer2-perlsource(unstable)(unfixed)unimportant

Notes

https://lists.security.metacpan.org/cve-announce/msg/43742968/
https://github.com/PerlDancer/Dancer2/issues/1823
Fixed by: https://github.com/PerlDancer/Dancer2/commit/293fce08812b0928f34ab2d7b9357450707c3630 (v2.2.0)
Fixed by: https://github.com/PerlDancer/Dancer2/commit/753b385350a54acb8d4b686723890205268634a8 (v2.2.0)
Only an issue when using Dancer2 on case-insensitive filesystem misses the guard in the AutoPage handler

Search for package or bug name: Reporting problems