Description
@fastify/static evaluates the allowedPath callback before normalizing dot segments and duplicate path separators in the pathname used for file resolution. Versions up to and including 10.1.1 are affected. An unauthenticated attacker can bypass allowedPath restrictions by requesting equivalent non-canonical pathnames, causing files that were intended to be denied to be served anyway. The bypass does not allow access outside the configured static root by itself, it defeats path-based filtering only. The issue is patched in @fastify/static 10.1.2.
Published: 2026-07-23
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises because @fastify/static evaluates the allowedPath callback before normalizing dot segments and duplicate path separators in the pathname used for file resolution. This ordering flaw allows an attacker to craft non-canonical pathnames that bypass the filtering logic. An unauthenticated user can request equivalent but non-canonical paths and cause files that were intended to be denied to be served. The bypass does not allow the attacker to access files outside the configured static root, but it defeats the intended path-based restrictions, potentially exposing sensitive content that was meant to remain hidden. This issue is classified as CWE-180, an authorization bypass weakness.

Affected Systems

Users of the @fastify/static package version 10.1.1 or earlier are impacted. The issue was fixed in version 10.1.2, and later releases continue to contain the fix. No other vendor or product is known to be affected by this flaw.

Risk and Exploitability

The CVSS v3.1 score is 5.3, indicating moderate severity. The EPSS score is less than 1 %, suggesting a low likelihood of exploitation at this time, and the vulnerability is not listed in CISA’s KEV catalog. The attack can be performed over an unauthenticated HTTP request to a server running the vulnerable plugin, and it relies only on path manipulation; no additional privileges or authentication are required. Consequently, the risk remains moderate, but remediation is still advised to prevent unintended file disclosure.

Generated by OpenCVE AI on August 3, 2026 at 23:00 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade @fastify/static to version 10.1.2 or later, which includes a true path normalization prior to the allowedPath callback.
  • Verify that the allowedPath callback is correctly configured; avoid overly permissive configurations that could allow undesired paths even after the patch.
  • Implement an additional layer of request sanitization that rejects or normalizes non-canonical path segments before they reach the static file handler to provide defense in depth.

Generated by OpenCVE AI on August 3, 2026 at 23:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8pvw-jcv7-9cmj @fastify/static vulnerable to Authorization Bypass via Non-Canonical URL Paths
History

Mon, 27 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Fastify
Fastify fastify-static
Vendors & Products Fastify
Fastify fastify-static

Thu, 23 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 23 Jul 2026 03:45:00 +0000

Type Values Removed Values Added
Description @fastify/static evaluates the allowedPath callback before normalizing dot segments and duplicate path separators in the pathname used for file resolution. Versions up to and including 10.1.1 are affected. An unauthenticated attacker can bypass allowedPath restrictions by requesting equivalent non-canonical pathnames, causing files that were intended to be denied to be served anyway. The bypass does not allow access outside the configured static root by itself, it defeats path-based filtering only. The issue is patched in @fastify/static 10.1.2.
Title @fastify/static vulnerable to Authorization Bypass via Non-Canonical URL Paths
Weaknesses CWE-180
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'}


Subscriptions

Fastify Fastify-static
cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-07-23T14:15:22.625Z

Reserved: 2026-04-26T18:43:14.410Z

Link: CVE-2026-7120

cve-icon Vulnrichment

Updated: 2026-07-23T14:15:18.921Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-23T04:16:33.187

Modified: 2026-07-28T17:05:24.913

Link: CVE-2026-7120

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T23:15:04Z

Weaknesses
  • CWE-180

    Incorrect Behavior Order: Validate Before Canonicalize