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

High 7.5 Published Updated

Attackers can read arbitrary files outside the public directory if the File route handler is enabled and static handling is disabled.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-93712?

CVE-2026-93712 is a high-severity path traversal vulnerability, published on 22 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

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.

Weakness: CWE-22

Which versions are affected by CVE-2026-93712?

How do I fix CVE-2026-93712?

Upgrade to a fixed version.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2026-93712 being exploited?

There is no known exploitation of CVE-2026-93712 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2026-93712, GHSA-6xw8-v24c-m783, GHSA-fq22-f6q5-wv3x, UBUNTU-CVE-2026-93712.

Is CVE-2026-93712 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free