【活用ガイド】

JVNDB-2026-016961

MtrudelのBanditにおける制限またはスロットリング無しのリソースの割り当てに関する脆弱性

概要

mtrudel banditのリソース割り当てに制限やスロットリングがない脆弱性により、認証されていないリモート攻撃者がメモリ枯渇を引き起こしてサービス拒否(DoS)を発生させる可能性があります。lib/bandit/http1/socket.exの'Elixir.Bandit.HTTP1.Socket':read_data/2のチャンク形式の読み取り処理は、HTTP/1チャンク付きリクエストボディを読み込む際に、呼び出し元が指定した:lengthオプションを無視します。設定された制限(例:Plug.Parsersのデフォルト8MB)で蓄積ボディを制限する代わりに、do_read_chunked_data!/5関数は受信したすべてのチャンクを無条件にiolistにバッファし、ボディ全体を単一のバイナリとして具現化します。この関数は常に{:ok, body, ...}を返すため、呼び出し元は413レスポンスを返すことができません。標準的なPhoenixエンドポイントではPlug.Parsersがルーティングや認証の前に実行されるため、認証されていない攻撃者は有効なルートや認証情報を必要としません。任意のパスに対して任意の大きさのボディを持つ1つのTransfer-Encoding: chunkedのPOSTリクエストを送信すると、BEAMプロセスが利用可能なメモリを枯渇させ、OSのOOMキラーによって終了されます。同じ関数内のcontent-lengthの処理は正しく制限を適用しており、影響を受けません。この問題はbanditのバージョン1.4.0から1.11.1未満に影響します。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Mtrudel
  • Bandit 1.4.0 以上 1.11.1 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

Erlang Ecosystem Foundation GitHub Open Source Vulnerabilities
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 制限またはスロットリング無しのリソースの割り当て(CWE-770) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-39803
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-39803
  2. 関連文書 : Improve chunk handling (#585)  mtrudel/bandit@ae3520d  GitHub
更新履歴

  • [2026年05月25日]
      掲載