Skip to content
catch-all-favorite
Esc
navigateopen⌘Jpreview
On this page

Axios の脆弱性レポート(CVE-2025-62718)

調査日: 2026-04-14 ステータス: Awaiting Analysis

概要

Axios(Node.js / ブラウザ向け Promise ベース HTTP クライアント)において、NO_PROXY ルール検証時のホスト名正規化の不備により、プロキシバイパスおよび SSRF(Server-Side Request Forgery)攻撃が可能になる脆弱性が発見された。CVSS v4.0 スコア 9.3(Critical)。

基本情報

項目 内容
CVE ID CVE-2025-62718
GHSA ID GHSA-3p68-rc4w-qgx5
CVSS v4.0 スコア 9.3 (Critical)
CVSS ベクター CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:L/SC:H/SI:L/SA:L
CWE CWE-441: Unintended Proxy or Intermediary (‘Confused Deputy’), CWE-918: サーバーサイドリクエストフォージェリ (SSRF)
公開日 2026-04-09
最終更新日 2026-04-13

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

Axios (npm)

  • ベンダー: axios
  • 影響バージョン: < 1.15.0
  • 修正バージョン: 1.15.0
  • 修正 PR: #10661

脆弱性の詳細

この脆弱性は、Axios の NO_PROXY ルール検証におけるホスト名正規化の不備に起因する。

根本原因

Axios は NO_PROXY 環境変数のマッチング時に、ホスト名の等価性を正しく判定できない。具体的には以下のバリアントを認識できない:

  • localhost.(末尾ドット付き、RFC 1034 では localhost と同等)
  • [::1](IPv6 リテラル表記、ループバックアドレス)

攻撃の流れ

  1. 開発者が NO_PROXY に標準的な内部アドレス(localhost,127.0.0.1,::1)を設定し、内部サービスへのリクエストがプロキシを経由しないよう保護する
  2. 攻撃者がホスト名のバリアント(localhost.[::1])を使用してリクエストを構築
  3. Axios はこれらのバリアントを NO_PROXY のエントリと等価と認識できず、リクエストが設定済みのプロキシを経由して送信される
  4. プロキシ経由で内部サービスのデータが漏洩したり、攻撃者がプロキシを制御している場合は機密情報を窃取できる

対策・推奨事項

  • Axios を 1.15.0 以上にアップデートする(最優先)
  • ユーザー制御の URL をサニタイズし、ホスト名のバリアント(末尾ドット、IPv6 リテラル等)を正規化してから処理する
  • バックエンドの URL フェッチ機能を制限し、内部サービスへのアクセスをネットワークレベルでも保護する

フロントエンド影響分析

Axios はフロントエンド・バックエンドの両方で使用されるライブラリだが、この脆弱性は Node.js 環境固有の機能(NO_PROXY 環境変数、プロキシ設定)に依存する。CVSS 9.3 はサーバー環境での最悪ケース評価であり、ブラウザ環境にはそのまま適用されない。

構成 影響度 対処要否 備考
SPA(クライアントサイドのみ) ⚪ なし 不要 ブラウザ環境には NO_PROXY / プロキシ設定の概念が存在せず、脆弱なコードパスに到達しない
SSR(サーバーサイドレンダリング) 🔴 高 要対処 Node.js 環境で NO_PROXY を使用して内部サービスを保護している場合、バイパスにより保護が無効化される

判定の考え方

1. ブラウザのセキュリティ境界(SPA 判定で最重要)

この脆弱性はブラウザ環境では 完全に無関係 である。その理由:

  • NO_PROXY は Node.js 固有: NO_PROXY 環境変数によるプロキシ制御は Node.js の http/https モジュールでのみ機能する。ブラウザにはこの概念自体が存在しない
  • Axios ブラウザアダプター: ブラウザ版 Axios は XMLHttpRequest を使用し、プロキシ設定を一切処理しない。脆弱なコードパス(lib/adapters/http.js のプロキシ判定ロジック)に到達すること自体がない
  • ネットワーク分離: 仮にリクエストが送信されたとしても、ブラウザの同一オリジンポリシーが内部ネットワークへのアクセスを制限する

2. 実行環境の違い

  • SPA(ブラウザ): 脆弱なコードパスに到達しないため、影響なし
  • SSR(Node.js): NO_PROXY を使用して内部サービスへのリクエストを保護している環境では、ホスト名のバリアントにより保護がバイパスされる。Next.js、Nuxt、Remix などの SSR フレームワークで Axios を使用しており、かつ NO_PROXY で内部サービスを保護している場合はアップデートが必要

3. 攻撃ベクターと前提条件

  • 攻撃ベクターはネットワーク経由(AV:N)で、認証やユーザー操作は不要(PR:N/UI:N)
  • 前提として、アプリケーションが NO_PROXY を使用しており、かつ攻撃者がリクエスト URL に影響を与えられる必要がある

4. ランタイム vs ビルドタイム

  • Axios はランタイムライブラリであり、ビルド時のみの影響はない

参考リンク

情報ソース

ソース 取得状況
NVD (NIST) ✅ 取得済み
GitHub Advisory ✅ 取得済み
Web検索 ✅ 取得済み

Was this page helpful?