JVNDB-2026-029081 | |
Wojtek MachのReqにおける高圧縮データの処理 (データ増幅)に関する脆弱性 | |
| 概要 | |
wojtekmach Reqにおける高圧縮データの不適切な処理(データ増幅)脆弱性により、攻撃者が制御するHTTPサーバーがReqクライアントのメモリを、解凍爆弾(decompression bomb)を含むレスポンスボディを通じて使い果たしてしまう可能性があります。Reqのデフォルトレスポンスパイプラインには、lib/req/steps.ex内のReq.Steps.decode_body/1およびReq.Steps.decompress_body/1が含まれています。decode_body/1はサーバーが提供するContent-Type(またはURL拡張子)に基づいて処理を振り分け、application/zipの場合には:zip.extract(body, [:memory])を、application/x-tarの場合には:erl_tar.extract({:binary, body}, [:memory])を、application/gzip/.tgzの場合には:erl_tar.extract({:binary, body}, [:memory, :compressed])を呼び出します。これらは各エントリや合計サイズの制限なく、メモリ上で完全に展開されたアーカイブ内容を[{name, bytes}]リストとして返します。decompress_body/1はcontent-encodingヘッダーを解析し、:zlib/:brotli/:ezstdデコーダーを連鎖させるため、content-encodingがgzip, gzip, gzipのように複数回圧縮されたレスポンスを無制限に展開します。両ステップはデフォルトで有効になっており、呼び出し元が選択する必要はありません。攻撃者は自身が制御するサーバー(またはReqの自動リダイレクトで到達する任意のホスト)上でcontent-typeおよびcontent-encodingヘッダーを制御できます。その結果、サブメガバイトのレスポンスが被害者側で数ギガバイトまで膨張し、BEAMプロセスがクラッシュしてしまいます。この問題はreqのバージョン0.1.0から0.6.1未満に影響します。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Wojtek Mach | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
Erlang Ecosystem Foundation | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
|
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/08 |
| 登録日 | 2026/08/20 |
| 最終更新日 | 2026/08/20 |



