【活用ガイド】

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値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


ueberauth
  • Guardian 2.0.0 以上 2.4.1 未満

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

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

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

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

  1. CVE-2026-55733
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-55733
  2. 関連文書 : Merge commit from fork  ueberauth/guardian@9cd2685  GitHub
更新履歴

  • [2026年08月10日]
      掲載