esaml に圧縮データの過剰展開によるメモリ枯渇の脆弱性 認証不要で攻撃可能
概要
esaml の SAML 応答処理で、細工した圧縮データを送られると大量のメモリを消費し、Erlang VM がクラッシュする問題です。認証なしで攻撃でき、影響を受けるのは 0.1.0 以降の全版です。修正版は公開されていないため、最新の情報を確認してください。
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
esaml の SAML 応答処理で、細工した圧縮データを送られると大量のメモリを消費し、Erlang VM がクラッシュする問題です。認証なしで攻撃でき、影響を受けるのは 0.1.0 以降の全版です。修正版は公開されていないため、最新の情報を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| Hex | esaml |
0.1.0 以上(直った版なし) |
— |
| handnot2 | esaml |
deeb84378d5c82153b470e99d24f77c38afca14a 以上(直った版なし) |
— |
| arekinath | esaml |
deeb84378d5c82153b470e99d24f77c38afca14a 以上(直った版なし) |
— |
| dropbox | esaml |
deeb84378d5c82153b470e99d24f77c38afca14a 以上(直った版なし) |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Improper Handling of Highly Compressed Data (Data Amplification) in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed SAMLResponse.
esaml_binding:decode_response/2 base64-decodes the attacker-supplied SAMLResponse, inflates it with zlib:unzip/1 with no bound on the output, then converts the result to a charlist with binary_to_list/1 before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.
This issue affects esaml: from 0.1.0 onward.
出典: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
参照URL
- package hex.pm
- web cna.erlef.org
- web github.com
- web github.com
- web github.com
- web osv.dev
- web nvd.nist.gov
- web github.com