CVE-2026-15074
Received Received - Intake

Path Traversal in Fastify Static

Vulnerability report for CVE-2026-15074, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-23

Last updated on: 2026-07-23

Assigner: openjs

Description

@fastify/static up to and including version 10.1.0 fails to reject dot-dot path segments in request pathnames before the file-resolution stage. This is a bypass of the earlier fix for CVE-2026-6414, which only covered encoded forward slashes. Because the underlying send library normalizes dot segments before applying its own path-traversal guard, an unauthenticated attacker can bypass any route-scoped middleware and read files inside the static root that live under the guarded URL prefix. The bypass does not allow access outside the configured static root by itself, it defeats route-guard filtering only. The issue is patched in @fastify/static 10.1.1.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-23
Last Modified
2026-07-23
Generated
2026-07-23
AI Q&A
2026-07-23
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
fastify static to 10.1.0 (inc)
fastify static 10.1.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-15074 is a path traversal vulnerability in the @fastify/static package versions up to 10.1.0. It allows bypassing route-based middleware and guards by using dot-dot path segments in request paths. The issue occurs because the underlying send library normalizes these segments before applying its own path-traversal protection, enabling unauthorized access to files within the static root directory.

Detection Guidance

To detect this vulnerability, check if your system is running @fastify/static version 10.1.0 or earlier. Use commands like 'npm list @fastify/static' or 'npm ls @fastify/static' to verify the installed version. Inspect server logs for unusual path traversal attempts, such as requests containing '..' or '%2E%2E' in the URL path.

Impact Analysis

This vulnerability allows unauthenticated attackers to bypass security controls and read sensitive files served by the static plugin. While it does not grant access outside the static root directory, it defeats route-guard filtering, potentially exposing confidential data like configuration files or internal documents.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive files, violating data protection requirements under GDPR and HIPAA. Exposure of personal or health data may result in non-compliance, legal penalties, and reputational damage due to insufficient access controls.

Mitigation Strategies

Immediately upgrade @fastify/static to version 10.1.1 or later using 'npm update @fastify/static'. As a temporary workaround, avoid relying on route-based middleware or guards for protecting files served by the package. Ensure no sensitive files are exposed under the static root directory.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-15074. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart