つみかさね

CVE-2026-33808

Critical(9.1)

CVE-2026-33808 — @fastify/express URL正規化バイパスによる認証スキップ

公開日: 2026-06-02データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
@fastify/expressFastify< 4.0.5

対応ガイド

high|対応必須セキュリティ修正影響: 広範

推奨アクション

  1. 1@fastify/express を使用しているプロジェクトを確認する
  2. 2Fastify の ignoreDuplicateSlashes / useSemicolonDelimiter オプションが有効か確認する
  3. 3@fastify/express を v4.0.5 以降へアップデートする
  4. 4保護されたエンドポイントへの細工されたURLでのアクセスが拒否されることをテストする

影響対象

@fastify/express を使用している Node.js アプリケーション利用者(特定オプション有効時)
CVEfastifyNode.js認証バイパスURLバイパス

概要

@fastify/express v4.0.4 以前において、Fastifyルーターのオプション設定と Express ミドルウェアのパスマッチングが乖離する脆弱性が存在します。

Fastify が ignoreDuplicateSlashes(重複スラッシュを無視)または useSemicolonDelimiter(セミコロンをデリミタとして扱う)を有効にしている場合、Fastifyルーターは URL を正規化してルートにマッチさせます。しかし @fastify/express は正規化前の元の URL を Express ミドルウェアに渡すため、ミドルウェアのパスマッチングが失敗します。

攻撃者は //admin/admin;x のような細工された URL で、認証ミドルウェアを回避して保護されたエンドポイントに到達できます。

CVSSベクトル

要素
Attack VectorNetwork
Attack ComplexityLow
Privileges RequiredNone
User InteractionNone
ScopeChanged
ConfidentialityHigh
IntegrityHigh
AvailabilityNone
CVSSスコア9.1 (Critical)

影響を受けるソフトウェア

製品影響バージョン修正バージョン
@fastify/expressv4.0.4 以前v4.0.5 以降

影響を受ける条件

以下のいずれかの Fastify オプションを有効にしている場合に影響を受けます:

  • ignoreDuplicateSlashes: true
  • useSemicolonDelimiter: true

これらのオプションを使用していない場合でも、念のためアップデートを推奨します。

修正バージョンと回避策

推奨対応: @fastify/express を v4.0.5 以降にアップデートしてください。

npm install @fastify/express@latest

暫定回避策(アップデートが困難な場合):

  • ignoreDuplicateSlashes および useSemicolonDelimiter オプションを無効にする
  • 認証ロジックを Fastify ネイティブの onRequest フックに移行する

関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。