人気のHTTPクライアント「Axios」のNode.js実装で、「data:」スキームのURLを与えるだけで無制限にメモリを確保し、
プロセスをクラッシュさせられる脆弱性(CVE-2025-58754)が明らかになりました。
脆弱性の対象バージョン
Axios 1.11.0未満(<1.11.0)のNode.js実行時に影響します。
対策バージョン
Axios 1.12.0で修正済みです。
脆弱性の概要
通常、AxiosのHTTPレスポンスはmaxContentLengthやmaxBodyLengthでサイズ上限を監視します。
ところがNode用HTTPアダプタは、URLが「data:」で始まる場合にHTTPリクエストを発行せず、内部のfromDataURI()でBase64ペイロード全体を一気にデコードしてBuffer/Blob化し、擬似的な200レスポンスとして返します。
この経路にはサイズ上限のチェックが存在せず、responseType: 'stream'を指定していても丸ごとメモリ展開が行われます。
攻撃者が巨大なdata URIを渡すだけで、Nodeのヒープが膨張しOut of Memory(OOM)でプロセスが落ちる、という挙動が容易に引き起こされます。








