fastifyのfastify-staticにおけるパストラバーサルの脆弱性
タイトル fastifyのfastify-staticにおけるパストラバーサルの脆弱性
概要

@fastify/static バージョン8.0.0から9.1.0まででは、listオプションを使用してディレクトリリスティングが有効になっている場合にパストラバーサルが発生します。dirList.path()関数はpath.join()を利用して設定されたstaticルート外のディレクトリを解決しますが、包含チェックを行っていません。これにより、リモートの認証されていない攻撃者がNode.jsプロセスからアクセス可能な任意のディレクトリのリストを取得し、ディレクトリやファイル名を漏洩させる可能性があります。ただし、ファイルの内容は漏洩しません。この問題を修正するには@fastify/staticを9.1.1にアップグレードしてください。回避策として、プラグイン設定からlistオプションを削除してディレクトリリスティングを無効にすることを推奨します。

想定される影響 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年4月16日0:00
登録日 2026年4月27日11:19
最終更新日 2026年4月27日11:19
CVSS3.0 : 警告
スコア 5.3
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
影響を受けるシステム
fastify
fastify-static 8.0.0 以上 9.1.1 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2026年04月27日]
  掲載
2026年4月27日11:19

NVD脆弱性情報
CVE-2026-6410
概要

@fastify/static versions 8.0.0 through 9.1.0 allow path traversal when directory listing is enabled via the list option. The dirList.path() function resolves directories outside the configured static root using path.join() without a containment check. A remote unauthenticated attacker can obtain directory listings for arbitrary directories accessible to the Node.js process, disclosing directory and file names. File contents are not disclosed. Upgrade to @fastify/static 9.1.1 to fix this issue. As a workaround, disable directory listing by removing the list option from the plugin configuration.

公表日 2026年4月16日23:16
登録日 2026年4月17日4:12
最終更新日 2026年4月24日4:31
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:fastify:fastify-static:*:*:*:*:*:*:*:* 8.0.0 9.1.1
関連情報、対策とツール
共通脆弱性一覧