CVE-2026-93712

Source
https://cve.org/CVERecord?id=CVE-2026-93712
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93712.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-93712
Aliases
  • GHSA-6xw8-v24c-m783
Downstream
Published
2026-09-22T00:52:36Z
Modified
2026-09-24T03:30:53Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
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
Details

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.

Database specific
{
    "cna_assigner": "CPANSec",
    "cwe_ids": [
        "CWE-22"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93712.json"
}
References

Affected packages

Git / github.com/perldancer/dancer2

Affected ranges

Type
GIT
Repo
https://github.com/perldancer/dancer2
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "introduced": "2.1.0"
        },
        {
            "fixed": "2.2.0"
        }
    ],
    "source": [
        "DESCRIPTION",
        "REFERENCES"
    ]
}

Affected versions

v2.*
v2.1.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93712.json"