プラットフォーム
nodejs
コンポーネント
@fastify/static
修正版
9.1.1
9.1.1
この脆弱性は、@fastify/static バージョン 8.0.0 から 9.1.1 までのバージョンに存在します。URLエンコードされたパスセパレータ(%2F)がファイルシステム解決前にデコードされるため、Fastify ルーターがリテラル文字として扱うことによるルーティングの不一致が発生し、ルートガードを回避できる可能性があります。影響を受けるアプリケーションは、@fastify/static で提供されるファイルに対するルートベースのミドルウェアやガードに依存している場合に脆弱です。9.1.1 以降にアップグレードすることで修正可能です。
CVE-2026-6414 は、@fastify/static (バージョン 9.1.0 以前) において、ルートベースのアクセス制御を回避することを可能にします。この問題は、@fastify/static がファイルシステム解決前にパーセントエンコードされたパスセパレーター (%2F) をデコードするのに対し、Fastify のルーターはそれらをリテラル文字として扱うことに起因します。これにより、ルーティングの不一致が生じます。/admin/* のようなルートガードは /admin%2Fsecret.html に一致せず、@fastify/static はこれを /admin/secret.html にデコードしてファイルをサーブします。@fastify/static によって提供されるファイルをルートベースのミドルウェアまたはガードで保護するアプリケーションは、このエンコードされたパスを使用して回避できる可能性があります。
攻撃者は、パーセントエンコードされたパスセパレーターを含む URL を作成することで、この脆弱性を悪用する可能性があります。たとえば、アプリケーションに /admin/ という保護されたルートがある場合、攻撃者は /admin%2Fsecret.html にアクセスしようとする可能性があります。@fastify/static の早期デコードにより、admin ディレクトリ内の secret.html ファイルが提供されます。/admin/ ルートがミドルウェアまたはガードによって保護されている場合でも、この技術を使用すると、ルートベースの保護を回避し、機密情報を公開したり、保護されたリソースへの不正アクセスを許可したりする可能性があります。
Applications built with Node.js that utilize @fastify/static for serving static files and rely on route-based middleware or guards to protect those files are at risk. This includes applications with custom route guards or those leveraging Fastify's built-in middleware for access control. Shared hosting environments where multiple applications share the same server and file system are particularly vulnerable.
• nodejs / server:
npm list @fastify/static• nodejs / server:
npm audit @fastify/static• nodejs / server: Check application logs for requests containing percent-encoded path separators (e.g., %2F) accessing files within protected directories.
disclosure
エクスプロイト状況
EPSS
0.01% (3% パーセンタイル)
CISA SSVC
解決策は、@fastify/static をバージョン 9.1.1 以降にアップグレードすることです。このバージョンは、Fastify のルーターと一貫してパーセントエンコードされたパスセパレーターを処理することで、この脆弱性を修正します。その間、一時的な対策として、ルーターによって保護されているように見える場合でも、機密ファイルへのアクセスを検証および制限するために、アプリケーションレベルで追加のアクセス制御を実装することをお勧めします。@fastify/static のデフォルトの動作だけに依存せず、堅牢なルート構成と保護を慎重に確認することが重要です。
Actualice a la versión 9.1.1 de @fastify/static para solucionar la vulnerabilidad. Esta versión corrige el problema al manejar correctamente los separadores de ruta codificados, evitando el bypass de las protecciones de ruta. No existen soluciones alternativas.
脆弱性分析と重要アラートをメールでお届けします。
9.1.1 より前のすべてのバージョンが CVE-2026-6414 に対して脆弱です。
npm list @fastify/static または yarn list @fastify/static コマンドを使用して、インストールされているバージョンを確認してください。
機密ファイルへのアクセスを検証および制限するために、アプリケーションレベルで追加のアクセス制御を実装してください。
ルートによって保護されているディレクトリ内にあり、機密情報が含まれているか、不正なアクションを許可する可能性のあるファイル。
@fastify/static によって提供されるファイルを保護するために、ルート保護に依存するアプリケーションにのみ影響を与えます。
CVSS ベクトル