Web Application
CVE-2026-15074 high CVSS 7.5

Path Traversal in @fastify/static (CVE-2026-15074)

Summary

Path traversal in @fastify/static (CVE-2026-15074). Confidential information can be exposed externally. Exploitable via getPathnameForSend. Mitigation: upgrade to 10.1.1 or later.

Original description

The description as published by the source.

Impact

@fastify/static is vulnerable to a bypass of route-based middleware and guards via non-leading .. and %2E%2E path segments. find-my-way does not normalize .. when matching routes, so a request such as /foo/../deep/secret.txt matches the static plugin's catch-all instead of the guarded /deep/*. The getPathnameForSend helper introduced by the fix for GHSA-x428-ghpx-8j92 only guards against the %2F variant; .. and %2E%2E survive the decodeURI + encodeURI round-trip and are then collapsed away by @fastify/send's path.normalize before its own traversal guard runs.

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

Patches

Upgrade to @fastify/static 10.1.1.

Workarounds

Do not use route-based middlewares or guards to protect files served by @fastify/static.

Source: NIST National Vulnerability Database NVD GitHub Advisory

AI summary

Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.

@fastify/staticのバージョン10.1.0までには、ファイル解決段階の前にリクエストのパス名でドットドットパスセグメントを拒否できない問題があります。この問題は認証されていない攻撃者が、ルートスコープのミドルウェアをバイパスして静的ルート内のファイルを読むことを可能にします。問題はバージョン10.1.1で修正されています。

❓ What is the problem

@fastify/staticにおけるパストラバーサル脆弱性

📍 Affected scope

バージョン10.1.0までの@fastify/static

🔥 Severity

認証されていない攻撃者が静的ルート内のファイルを読み取ることが可能

🔧 How to fix

@fastify/staticをバージョン10.1.1以降にアップデートする

🛡️ Workaround

情報なし

🔍 Detection

バージョン10.1.0以下を使用しているか確認する

Affected packages

npm @fastify/static
[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"10.1.1"}]}]

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details