概要
2026年2月10日、Node.js環境で広く利用されているHTTPクライアントライブラリであるAxiosに、深刻なセキュリティ脆弱性(CVE-2026-25639)が発見されました。この脆弱性を悪用されると、攻撃者はNode.jsサーバーをクラッシュさせ、サービス拒否(DoS)攻撃を引き起こす可能性があります。
脆弱性の詳細
この脆弱性は、AxiosのmergeConfig関数に存在します。HTTPリクエスト前に構成オブジェクトを処理するこの関数において、攻撃者が__proto__というプロパティを含む特別に細工されたJSONオブジェクトを提供すると、問題が発生します。ライブラリがJavaScriptのObject.prototypeを呼び出し可能な関数として扱おうとすることで、サーバーが即座にクラッシュします。
- CVE ID: CVE-2026-25639
- 脆弱性タイトル:
mergeConfig関数における__proto__キーを介したサービス拒否 - パッケージ: axios (npm)
- 深刻度: 高
- CVSSスコア: 7.5
攻撃手法と影響
攻撃は極めて単純です。攻撃者は、JSON入力を受け入れ、それをAxiosの構成メソッドに渡すエンドポイントを介して、{"__proto__": {"x": 1}}のような悪意のあるペイロードを送信するだけで済みます。この脆弱性は、lib/core/mergeConfig.jsファイルの98行目から101行目にある構成マージロジックで発生し、プロパティ名を適切に検証しないことが原因です。
これは一般的なプロトタイプ汚染攻撃とは異なり、悪意のあるコードがアプリケーションの動作を徐々に破壊するのではなく、悪意のある構成が処理されるとサーバーが即座にクラッシュするという点で、非常に強力なDoS攻撃手段となります。ユーザーが制御するJSONを受け入れ、それをget()やpost()などのAxiosメソッドに渡すNode.jsアプリケーションはすべて影響を受けます。
この攻撃は認証なしにリモートから実行可能であり、攻撃に高度な技術的知識はほとんど必要ありません。機密性や完全性への影響はありませんが、アプリケーションをクラッシュさせることで可用性を完全に阻害します。
対象バージョンと修正
この脆弱性は、バージョン1.13.4を含むそれ以前のすべてのAxiosバージョンに影響します。セキュリティ研究者のhackerman70000氏によって発見および報告されました。
Axiosチームは迅速に対応し、バージョン1.13.5をリリースしました。このパッチでは、構成オブジェクト内の異常なプロパティ名に対する適切なチェックを実装することで、脆弱性が修正されています。
推奨される対策
Axiosを使用している開発者は、直ちにバージョン1.13.5にアップグレードすることが強く推奨されます。また、組織は、ユーザー入力がAxiosの構成パラメータに流れる可能性のあるすべてのコードベースを監査し、すべての本番環境で更新されたバージョンが展開されていることを確認する必要があります。
元記事: https://gbhackers.com/axios-vulnerability-allows-attackers-to-trigger-dos/
