Axios Vulnerability Allows Attackers to Trigger DoS and Crash Node.js Servers
2026/02/10 gbhackers — Node.js で最も広く利用される HTTP クライアント・ライブラリ Axios において、サーバをクラッシュさせ、サービス拒否 (DoS) 攻撃を引き起こし得る、深刻なセキュリティ欠陥が発見された。この脆弱性 CVE-2026-25639 は、Axios のバージョン 1.13.4 以下に影響を及ぼす。

Axios の脆弱性
HTTP リクエストを送信する前の段階で、コンフィグ・オブジェクトを処理するために用いられる、 Axios の mergeConfig 関数が、この脆弱性により悪用される。
“proto” をプロパティとして取り込むように細工された JSON オブジェクトを攻撃者が提供すると、このライブラリは JavaScript の Object.prototype を呼び出し可能な関数として扱おうとする。その結果として、即座にクラッシュが発生する。
| Attribute | Details |
|---|---|
| CVE ID | CVE-2026-25639 |
| Vulnerability Title | Denial of Service via proto Key in mergeConfig |
| Package | axios (npm) |
| Affected Versions | <= 1.13.4 |
| Patched Versions | 1.13.5 |
| Severity | High |
| CVSS Score | 7.5 |
この攻撃手法は、きわめて単純である。攻撃者にとって必要なことは、JSON 入力を受け付けて Axios のコンフィグ・メソッドに渡す任意のエンドポイントを経由して、 {“proto”: {“x”: 1}} のような悪意のあるペイロードを送信することである。
この脆弱性は、”lib/core/mergeConfig.js” の 98〜101 行目にあるコンフィグ・マージ・ロジックに存在し、プロパティ名を処理する前の適切な検証の欠如に起因する。
この攻撃は、アプリケーションの挙動を徐々に破壊する、典型的なプロトタイプ汚染攻撃ではない。つまり、悪意のコンフィグを処理した時点で即座にサーバがクラッシュするため、強力な DoS 攻撃手段となる。
ユーザー入力を含む JSON を受け取り、それを Axios の get() や post() などの HTTP ショートカット・メソッドに渡している Node.js アプリケーションは、すべてにおいて影響を受ける可能性がある。
Axios はバックエンド・サービスにおける API 呼び出しで広く使用されているため、その影響範囲は多数のアプリケーションに及ぶ。
この攻撃は認証不要でリモートから実行可能であり、成功させるための高度な技術的知識は必要とされない。攻撃ベクターはネットワークであり、複雑性は低く、特権やユーザー操作を必要としない。機密性や完全性は侵害しないが、アプリケーションをクラッシュさせることで可用性を完全に阻害する。
この脆弱性の Common Vulnerability Scoring System (CVSS) は、7.5 で 深刻度 High と評価されている。
この脆弱性は、セキュリティ研究者 hackerman70000 により発見/報告された。すでに Axios チームは、修正版である 1.13.5 をリリースし、この問題に対処した。具体的には、コンフィグ・オブジェクト内の異常なプロパティ名に対して、適切なチェックを実装することで、この問題に対応している。
Axios を使用している開発者にとって必要なことは、バージョン 1.13.5 へと速やかにアップグレードすることである。
また、ユーザー組織にとって必要なことは、コードベースを監査し、ユーザー入力が Axios のコンフィグ・パラメータに流入している箇所を特定することだ。それに加えて、本番環境全体に対して、修正済みバージョンが展開されていることを確認する必要がある。
Node.js で高いシェアを誇る HTTP ライブラリ Axios に、サーバを停止させる攻撃が可能になる深刻な不備が発見されました。この問題の原因は、Axios が設定情報を統合する mergeConfig という内部機能において、入力されたデータのプロパティ名が適切に検証されないという点にあります。JavaScript には、すべてのオブジェクトの基盤となる “プロトタイプ” という仕組みがありますが、攻撃者が “proto” という特殊な名前を含む JSON データを送信すると、Axios が誤って処理しようとしてシステムに致命的な矛盾が生じます。その結果として、プログラムが耐えきれずに即座にクラッシュしてしまいます。ご利用のチームは、ご注意ください。よろしければ、Axios での検索結果も、ご参照ください。
You must be logged in to post a comment.