GHSA-x428-ghpx-8j92

Suggest an improvement
Source
https://github.com/advisories/GHSA-x428-ghpx-8j92
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-x428-ghpx-8j92/GHSA-x428-ghpx-8j92.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-x428-ghpx-8j92
Aliases
  • CVE-2026-6414
Published
2026-04-16T22:34:03Z
Modified
2026-04-16T22:51:44.453228Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
@fastify/static vulnerable to route guard bypass via encoded path separators
Details

Impact

@fastify/static v9.1.0 and earlier decodes percent-encoded path separators (%2F) before filesystem resolution, but Fastify's router treats them as literal characters. This creates a routing mismatch: route guards on /admin/* do not match /admin%2Fsecret.html, but @fastify/static decodes it to /admin/secret.html and serves the file.

Applications that rely on route-based middleware or guards to protect files served by @fastify/static can be bypassed with encoded path separators.

Patches

Upgrade to @fastify/static >= 9.1.1.

Workarounds

None. Upgrade to the patched version.

Database specific
{
    "severity": "MODERATE",
    "github_reviewed": true,
    "nvd_published_at": "2026-04-16T13:16:52Z",
    "cwe_ids": [
        "CWE-177"
    ],
    "github_reviewed_at": "2026-04-16T22:34:03Z"
}
References

Affected packages

npm / @fastify/static

Package

Name
@fastify/static
View open source insights on deps.dev
Purl
pkg:npm/%40fastify/static

Affected ranges

Type
SEMVER
Events
Introduced
8.0.0
Fixed
9.1.1

Database specific

last_known_affected_version_range
"<= 9.1.0"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-x428-ghpx-8j92/GHSA-x428-ghpx-8j92.json"