脆弱性・CVE速報深刻度: 緊急

@fastify/http-proxy の認証なしパス制限回避 CVE-2026-120213(CVSS 9.1): パラメータ付き接頭辞の書き換えで上流の別パスに到達できる。11.6.6 で修正

目次(6)

CVE-2026-120213

NVD は 2026-11-02 に、Node.js 用の Fastify プラグイン「@fastify/http-proxy」の脆弱性(CVE-2026-120213)を登録しました。パラメータ付きの prefix と rewritePrefix を併用してクライアントを上流の固定パスに閉じ込めている構成で、認証されていない攻撃者がそのパス制限を回避できるとされています。11.6.6 で修正されています。

何が起きるか

  • CVE-2026-120213(パス制限の回避、CWE-22・CWE-436): 9.0.0 から 11.6.5 までで、URL デコード済みのルートパラメータが再エンコードされずに rewritePrefix へ入ります。パス区切りとフラグメントやクエリの区切りを含む値が実際の区切りとして解釈され、上流のパスに余分な階層が混入し、rewritePrefix が強制するはずの接尾辞が外れるとされています。ドットドット(..)による遡りは使いません。
  • 認証なしの遠隔の攻撃者が、意図した接頭辞の外にある上流の場所へ到達できます。上流の作りによっては、SSRF(サーバーから内部や外部への不正な通信)や、プロキシ先サービスの認可回避につながり得るとされています。
  • CVSS v3.1 は 9.1(Critical、AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:N)です。
  • 攻撃の具体的な手順は、本記事では扱いません。

修正の状況

  • 影響を受けるのは 9.0.0 から 11.6.5 で、11.6.6 で修正されています。
  • NVD の説明では、アップグレード以外の回避策はないとされています。

数値と出典(2026-11-02 時点)

CVE種類認証CVSS v3.1CWEEPSS
CVE-2026-120213パス制限の回避(prefix と rewritePrefix)不要9.1CWE-22・CWE-436未算出(公開直後)
  • NVD の状態は Received(NVD 自身の評価は未実施)で、上の CVSS は CNA(OpenJS Foundation)が付けた値(種別 Secondary)です。
  • EPSS(FIRST)は 2026-11-02 の時点でまだ算出されていません。
  • KEV(CISA の悪用確認済みカタログ、2026.10.30 版・1766 件)には掲載がありません。実際の攻撃での悪用は確認していません。

severity を critical とした理由

認証不要・ネットワーク経由・低い難度で、上流の意図しない場所に到達でき、CVSS 9.1 です。修正版(11.6.6)は公開済みで、KEV もなく EPSS も未算出ですが、過去の判断の基準(認証不要・CVSS 9.0 以上)に合わせて critical としています。ただし、影響はパラメータ付きの prefix と rewritePrefix を併用する構成に限られ、実際の深刻さは上流側の作りに左右されます。

対応として考えられること

  1. @fastify/http-proxy を使っていないか、依存関係(lockfile)を含めて確認し、版を調べます。
  2. 9.0.0 から 11.6.5 であれば、11.6.6 以降に更新します。
  3. パラメータ付きの prefix と rewritePrefix を併用している箇所を洗い出します(推定)。
  4. 更新までの間、上流側でもパスと認可を検証し、プロキシ経由でしか届かない内部サービスを重ねて保護します(推定)。
  5. 更新前の期間に、上流へ意図しないパスへのアクセスが無かったか、アクセスログを確認します(推定)。

未確認の点

  • 実際の攻撃での悪用は確認していません。EPSS は未算出です。
  • 具体的な再現条件や、上流の種類ごとの影響の範囲は確認できていません。
  • NVD 自身の評価は未実施で、CVSS は CNA の値です。

この記事について

出典

この記事を共有