JVNDB-2026-027576 | |
ueberauthのGuardianにおける制限またはスロットリング無しのリソースの割り当てに関する脆弱性 | |
| 概要 | |
ueberauth guardianにおけるリソースの制限やスロットリングなしの割り当てにより、攻撃者が制御するバイナリ入力から無制限にatomを生成することでサービス拒否(DoS)攻撃が可能となります。Guardian.Permissions.AtomEncodingは、任意のバイナリをString.to_atom/1に渡して権限スコープをエンコードします。lib/guardian/permissions/atom_encoding.exのencode/3がリストで呼び出されると、各バイナリエントリはbinaryクローズのencode_value/3で処理され、ここでallow-listチェックなしにString.to_atom(value)が呼ばれます。perm_set引数(アプリケーションの小規模で有限な正当な権限名のセット)は無視されるため、外部の任意の文字列がそのままatomの生成に使用されます。このエンコーダはuse Guardian.Permissions, encoding: Guardian.Permissions.AtomEncodingで選択され、インポートされたencode/3エントリポイントから呼び出されます。String.to_atom/1は、これまで未確認のバイナリごとに新しいatomを作成し、atomはガベージコレクションされず、BEAMのatomテーブルはデフォルトで約1,048,576エントリに固定されています。攻撃者が影響を及ぼす権限スコープ(リクエストボディ、JWTクレーム、その他外部入力)をencode/3に渡すアプリケーションは、それぞれの異なる値ごとに永続的なatomを一つずつ生成します。多様で認証されていない入力が継続的に流れ込むことで、atomテーブルが枯渇し、BEAMノードがsystem_limitによりクラッシュし、それによりそのノード上で動作するすべてのアプリケーションが停止します。デフォルトのエンコーダはGuardian.Permissions.BitwiseEncodingであり、本問題の影響はありません。この問題はguardianのバージョン2.0.0から2.4.1未満に影響します。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
ueberauth | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
Erlang Ecosystem Foundation | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
|
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/08/01 |
| 登録日 | 2026/08/10 |
| 最終更新日 | 2026/08/10 |



