Multer の脆弱性 CVE-2025-47944/47935 が FIX:Node.js アプリに DoS攻撃 攻撃の可能性

High DoS Risk: Multer Flaws Threaten Millions of Node.js Apps

2025/05/20 SecurityOnline — Multer は、Node.js において multipart/form-data を処理する定番ミドルウェアであり、月間ダウンロード数が 2,630万回を超えるものだ。しかし、この人気ライブラリで発見された脆弱性 CVE-2025-47944/CVE-2025-47935 により、それを利用するアプリケーションに深刻なサービス拒否 (DoS) 攻撃のリスクが発生している。Node.js アプリケーションで、Multer を用いてファイルのアップロード処理を行い、バージョン 2.0.0 以降を使用していないケースでは、この脆弱性の影響を受ける可能性が生じる。

CVE-2025-47944 (CVSS:7.5)
不正なマルチ・パート・リクエストによる DoS 攻撃

この脆弱性は、Multer のバージョン 1.4.4-lts. 1以降に影響を及ぼすものであり、悪意のマルチパート・リクエストを作成する攻撃者に対して、サーバ・クラッシュの可能性を与えるものである。

アドバイザリには、「このリクエストにより、例外の未処理が引き起こされ、プロセスのクラッシュにつながる」と説明されている。

この問題は、特別に細工されたマルチパート・ペイロードを、Multer が安全に処理できないことに起因する。この攻撃において、認証や昇格された権限は不要であり、1回の不正なアップロード・リクエストでサーバを停止させられる。

CVE-2025-47935 (CVSS:7.5)
閉じられていないストリームからのメモリリークによる DoS

2つ目の脆弱性は、安全でないストリーム処理に関連するものであり、Multer のバージョン 2.0.0 未満に影響を及ぼす。

アドバイザリには、「HTTP リクエスト・ストリームがエラーを発行すると、内部の “busboy” ストリームが閉じられなくなる。それにより、問題となるストリームが時間の経過につれて蓄積され、メモリとファイル記述子が浪費される」と記されている。

本質的に、それによりリソース枯渇が発生する。このアップロード・エラーが継続すると、閉じられないストリームが蓄積され続け、最終的には手動でシステムを再起動し、サービスを復旧するという必要性が生じる。

高スループット環境において、この脆弱性は特に危険である。悪意の有無にかかわらず、アップロードの失敗が継続的に発生し、サーバが停止する可能性もある。

開発者は何をすべきか?

すでに、これらの脆弱性は、Multer 2.0.0で修正されている。開発者に対して強く推奨されるのは、Multer のバージョン 2.0.0 以降へと、速やかにアップグレードすることだ。

Node.js の人気ライブラリである Multer に、深刻な DoS 脆弱性が発生しています。開発者の方々は、迅速なアップデートを、ご検討ください。よろしければ、Node.js で検索も、ご利用ください。