Vulnerability · Published Sep 22, 2026 · Assigned by CPANSec

CVE-2026-93712Dancer2 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

High 7.5

In plain English

A high-severity path traversal in Dancer2. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 46% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)0.5%top 54.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official 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 packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12libdancer2-perlno fix listedDEBIAN-CVE-2026-93712
Debian:13libdancer2-perlno fix listedDEBIAN-CVE-2026-93712
Debian:14libdancer2-perl2.2.2-1DEBIAN-CVE-2026-93712
Ubuntu:22.04:LTSlibdancer2-perlno fix listedUBUNTU-CVE-2026-93712
Ubuntu:24.04:LTSlibdancer2-perlno fix listedUBUNTU-CVE-2026-93712
Ubuntu:26.04:LTSlibdancer2-perlno fix listedUBUNTU-CVE-2026-93712
Ubuntu:26.10libdancer2-perlno fix listedUBUNTU-CVE-2026-93712

Affected products (as reported)

VendorProductVersions
Dancer2 2.1.0 – before 2.2.0

Weakness: CWE-22 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

References