Skip to content
OpenAdvisories
High · 7.5 CVE-2026-93712 EUVD-2026-84258GHSA-fq22-f6q5-wv3x

Dancer2 versions from 2.1.0 before 2.2.0 for Perl serve files from outside public_dir via relative path segments in the File route handler

Published Sep 22, 2026 · Updated Sep 22, 2026 · Assigned by CPANSec

Description

Dancer2 versions from 2.1.0 before 2.2.0 for Perl serve files from outside public_dir via relative path segments in the File route handler.

The handler joins the request path onto public_dir without collapsing relative segments, and checks only that the result is a readable regular file. A request for `/../outside.txt` escapes public_dir, and percent-encoding the dots reaches the same file.

The handler is off by default. An application is affected once it names File in route_handlers and sets static_handler to 0, which otherwise refuses a dot segment before the route runs.

Any file the worker process can read is served to an unauthenticated request, including the application's config.yml above public_dir.

Affected products

VendorProductAffectedFixed
— Dancer2 2.1.0 – < 2.2.0 2.2.0

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libdancer2-perl 2.2.2-1 —
Debian 13 libdancer2-perl No fix yet —
Debian 12 libdancer2-perl No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 libdancer2-perl No fix yet —
Ubuntu 26.04 LTS libdancer2-perl No fix yet —
Ubuntu 24.04 LTS libdancer2-perl No fix yet —
Ubuntu 22.04 LTS libdancer2-perl No fix yet —
Ubuntu 20.04 LTS libdancer2-perl No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS libdancer2-perl No fix yet —
Ubuntu 16.04 LTS libdancer2-perl No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed perl-Dancer2 2.2.2-1.1 openSUSE-SU-2026:12202-1

Advisories 1

References