| タイトル | Elixir PlugのPlug.cowboyにおける制限またはスロットリング無しのリソースの割り当てに関する脆弱性 |
|---|---|
| 概要 | elixir-plugのplug_cowboyにおいて、リソースの割り当てに関する制限やスロットリングがない脆弱性が存在します。この脆弱性により、認証されていないリモートからのサービス拒否攻撃がアトムテーブルの枯渇を通じて可能になります。lib/plug/cowboy/conn.exのPlug.Cowboy.Conn.conn/1は、:cowboy_req.scheme/1から返される値に対してString.to_atom/1を呼び出します。HTTP/2接続の場合、cowlibはクライアントから送信された:scheme疑似ヘッダー値を検証せずにそのまま渡します。各ユニークな値はBEAMのアトムテーブル内に永久的に新しいエントリを割り当てます。アトムはガベージコレクションされず、アトムテーブルには固定の上限(デフォルト1,048,576)があります。したがって、認証されていない攻撃者がHTTP/2リクエストでユニークな:scheme値を送り続けることでテーブルを枯渇させ、Erlang VMがsystem_limitのため異常終了し、ノード全体が停止する可能性があります。この脆弱性は、cowboyがクライアントからのヘッダーではなくリスナーの種類からスキームを派生させるHTTP/1.1には影響しません。この問題はplug_cowboyの2.0.0から2.8.1未満のバージョンに影響を及ぼします。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年4月27日0:00 |
| 登録日 | 2026年5月28日14:33 |
| 最終更新日 | 2026年5月28日14:33 |
| CVSS3.0 : 重要 | |
| スコア | 7.5 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| Elixir Plug |
| Plug.cowboy 2.0.0 以上 2.8.1 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月28日] 掲載 |
2026年5月28日14:33 |
| 概要 | Allocation of Resources Without Limits or Throttling vulnerability in elixir-plug plug_cowboy allows unauthenticated remote denial of service via atom table exhaustion. Plug.Cowboy.Conn.conn/1 in lib/plug/cowboy/conn.ex calls String.to_atom/1 on the value returned by :cowboy_req.scheme/1. For HTTP/2 connections, cowlib passes the client-supplied :scheme pseudo-header value through verbatim without validation. Each unique value permanently allocates a new entry in the BEAM atom table. Since atoms are never garbage-collected and the atom table has a fixed limit (default 1,048,576), an unauthenticated attacker can exhaust the table by sending HTTP/2 requests with unique :scheme values, causing the Erlang VM to abort with system_limit and taking down the entire node. This vulnerability does not affect HTTP/1.1, where cowboy derives the scheme from the listener type rather than from a client-supplied header. This issue affects plug_cowboy: from 2.0.0 before 2.8.1. |
|---|---|
| 公表日 | 2026年4月27日23:16 |
| 登録日 | 2026年4月28日4:08 |
| 最終更新日 | 2026年4月28日3:57 |