What’s Vulnerable › Vulnerabilities
CVE-2026-90982: @fastify/static vulnerable to route guard bypass via path case-folding
- Severity: medium (CVSS 5.3 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-17 · updated 2026-09-18
- Weakness: CWE-178
Description
@fastify/static is a Fastify plugin that serves static files from a configured root directory. In versions before 10.1.4, on a case-insensitive filesystem such as Windows or the default macOS volume, a route guard or allowedPath restriction can be bypassed by altering the letter case of a path segment. The route matcher is case-sensitive while the filesystem is not, so a request that changes the case of a protected segment does not match the guarded route and falls through to the static handler, yet the filesystem resolves it to the same protected file. As a result, an unauthenticated request can read a file that a route guard or allowedPath was configured to protect. The issue does not affect case-sensitive filesystems and is not a directory traversal, since nothing is served from outside the configured root. The issue is fixed in @fastify/static 10.1.4, which validates the requested path against its actual on-disk spelling and rejects case-aliased paths before authorization. As a workaround, serve static files from a case-sensitive filesystem, or ensure route guards and allowedPath rules account for every letter-case variant of the protected paths.
Affected products
- @fastify/static: before 10.1.4 — fixed in 10.1.4
How to fix
Upgrade to a fixed version: @fastify/static 10.1.4. Check the vendor advisory for mitigations.
References
- https://cna.openjsf.org/security-advisories.html
- https://github.com/fastify/fastify-static/security/advisories/GHSA-r799-r9gc-m956
Get alerted when CVE-2026-90982 or the next vulnerability affects your stack