Multer、非同期ファイル検査でサーバー停止のおそれ―2.5.0への更新と確認方法
対象は2.0.0以上2.5.0未満で、非同期のfileFilterを使う構成です。利用箇所を調べ、依存関係の更新から異常系の動作確認まで進めます。
脆弱性の公表日:2026-10-22 / 公開: / 更新: / 最終確認:
Codingholic 編集部 · 約3分
Multer開発チームは2026年10月22日、ファイルアップロード処理でNode.jsプロセスが終了する脆弱性CVE-2026-113872を公表しました。条件がそろうと未認証の1リクエストでも停止につながるため、外部から使えるアップロード機能を優先して確認します。
非同期のfileFilterを使っているか調べる
原因は、リクエスト中断で破棄したストリームを、遅れて完了したファイル検査のコールバックが再開することです。エラーを受け取る処理がなくなっているため、未処理エラーでプロセスが終了します。保存先の方式によらず、同期のfileFilterは今回の対象外です。
以下は編集部が提案する確認手順です。lockfileと依存関係ツリーでMulterの実際の解決バージョンを確認し、コード内のfileFilterを検索します。DB照会や外部APIなど、コールバックを後から呼ぶ処理がないか調べてください。パッケージが存在するだけで影響ありとは判定しません。
2.5.0以降へ更新し、稼働プロセスを入れ替える
公式の修正版は2.5.0です。直接依存なら利用中のパッケージ管理ツールで更新し、lockfileも反映します。間接依存なら呼び出し元の対応版を確認し、互換性を無視した強制上書きは避けます。
公式の暫定策は同期fileFilterへの変更です。ただし、必要な検査を削除して受け入れる変更にはしません。非同期検査を維持する必要があれば更新を優先します。修正後はアプリを再配布・再起動し、稼働先にも修正版が入ったことを確認します。
正常系に加え、拒否・中断でも動き続けるか確認する
検証環境では、正常なアップロード、ファイル拒否、複数ファイルの処理中断を試し、プロセスが生存して後続リクエストを処理できることを確認します。不要な一時ファイルが残らないかも合わせて点検します。これは確認項目の提案で、当社が各環境で実証した結果ではありません。
公表資料は脆弱性の成立を説明しており、実被害の発生を示すものではありません。更新済みの依存関係、稼働先への反映、検証結果を残して対応完了とします。
出典と編集について
Multer開発チーム:CVE-2026-113872:非同期fileFilterによるDoS ↗出典の報告と、編集部が提案する点検・対策を分けて記載しています。本記事の点検項目は個別環境の診断結果ではありません。