[緊急解説] Axios 1.15.0の深刻なNO_PROXYバイパス脆弱性 (CVE-2026-42043) と対策
はじめに:なぜこの脆弱性が重要なのか?
皆さん、こんにちは。日本のフロントエンドエンジニアの皆さんにとって、HTTPクライアントライブラリ『Axios』は、Node.js環境(特にBFFやSSRアプリケーションなど)で外部APIや内部サービスと連携する際に欠かせないツールの一つでしょう。しかし、Axiosのバージョン1.15.0に、機密情報の漏洩やServer-Side Request Forgery(SSRF)攻撃につながりかねない、非常に深刻な脆弱性(GHSA-pmwg-cvhr-8vh7 / CVE-2026-42043)が報告されました。
この脆弱性は、通常内部サービスへのアクセスをプロキシから除外するために使用される環境変数 `NO_PROXY` の設定が、不完全にバイパスされてしまう点にあります。企業のネットワーク、クラウド環境、コンテナ、CI/CDなど、プロキシ設定が当たり前のように存在する環境でAxiosを使用している場合、特に注意が必要です。
脆弱性の概要:Axios 1.15.0の `NO_PROXY` バイパス
今回報告された脆弱性は、Axiosのバージョン1.15.0に含まれる `NO_PROXY` バイパスに対する修正が不完全であったことに起因します。以前のCVE-2025-62718で指摘された `localhost.` のような末尾のドットや `[::1]` のようなIPv6の表記揺れには対応しましたが、ループバックアドレスの定義が依然として不十分だったのです。
`NO_PROXY` は、特定のホスト(例: `localhost` や `127.0.0.1`)へのリクエストをHTTPプロキシ経由ではなく、直接通信させるための設定です。これにより、開発者は内部サービスへの通信が外部に漏れることなく安全に行われると期待します。しかし、この脆弱性によって、その期待が裏切られてしまいます。
具体的な仕組み:なぜ `NO_PROXY` がバイパスされるのか?
問題の核心は、ループバックアドレスの認識の違いにあります。
この認識のギャップが悪用されます。攻撃者がリクエストURLに `127.0.0.2` や `127.1.2.3` のような `127.0.0.0/8` 内の別のアドレスを指定した場合、Axiosはこれをループバックアドレスとは認識せず、`NO_PROXY` 設定を回避して意図せずプロキシ経由で通信をルーティングしてしまいます。
あなたのアプリケーションは影響を受けますか?
この脆弱性の影響を受けるのは、以下の**すべての条件**を満たすNode.jsアプリケーションです。
Node.jsで動作するBFF (Backend For Frontend) やマイクロサービスでAxiosを導入している場合、これらの条件に合致しないか、今すぐ確認してください。
この脆弱性がもたらす深刻なリスク
この `NO_PROXY` バイパス脆弱性は、以下のような重大なセキュリティリスクを引き起こす可能性があります。
今すぐ取るべき対策
この脆弱性に対する公式な修正がリリースされるのを待って、速やかに最新バージョンにアップデートすることが最も重要です。もしすぐに修正が利用できない場合は、以下の対応を検討してください。
まとめ
Axios 1.15.0の `NO_PROXY` バイパス脆弱性 (CVE-2026-42043) は、Node.jsアプリケーション、特にBFFやマイクロサービスアーキテクチャでAxiosを多用している環境において、深刻なセキュリティリスクをもたらします。
フロントエンドエンジニアの皆さんも、利用しているライブラリのバージョン、そしてそのライブラリが動作する実行環境(Node.jsサーバーなど)のプロキシ設定にまで気を配ることが、現代の開発において非常に重要です。この脆弱性情報を基に、ご自身のプロジェクトのAxiosバージョンと環境設定を確認し、速やかに対策を講じてください。