CVE ID: CVE-2026-51788
ステータス: 割り当て済み
発見日: 2026-04-27
研究者: Aykhan Isgandarli
深刻度: 高 (CVSS v3.1: 7.5)
CVSS ベクター: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
影響を受ける製品: cleverange_auth
影響を受けるバージョン: v0.1.10
CWE: CWE-400 (リソース消費の制御不能), CWE-770 (無制限のリソース割り当て)
cleverange_auth バージョン 0.1.10 にサービス拒否 (DoS) の脆弱性が存在します。この脆弱性は、新しい User オブジェクトが作成されるたびに、検証レコードの自動生成と即時メール配信が行われることに起因します。
このパッケージを使用するアプリケーションが、レート制限やCAPTCHAなどの適切な不正利用防止策なしに公開された登録エンドポイントを公開している場合、認証されていないリモート攻撃者が繰り返し新規アカウントを作成し、過剰なメール生成とデータベース書き込みを引き起こし、リソース枯渇を引き起こす可能性があります。
ファイル
accounts/models.py
関数
@receiver(post_save, sender=User)
def create_verification(...)
新しい User オブジェクトが作成されると、create_verification ポストセーブシグナルが自動的に以下の操作を実行します:
Verification オブジェクトを作成します。account_code を生成します。verify_code を生成します。関連するコードパスは次のとおりです:
@receiver(post_save, sender=User)
def create_verification(sender, instance, created, **kwargs):
if created:
current_user = Verification.objects.create(user=instance)
ac_code = ''.join([str(random.randint(0, 999)).zfill(3) for _ in range(4)])
current_user.account_code = ac_code
code_num = ''.join([str(random.randint(0, 999)).zfill(3) for _ in range(2)])
current_user.verify_code = code_num
email.send(fail_silently=False)
シグナルが新しく作成されたユーザーごとにこれらのアクションを自動的に実行するため、リクエストスロットリングやその他の自動化防止制御を実装していないアプリケーションでは、攻撃者が高コストな操作を繰り返しトリガーできる可能性があります。
認証されていない攻撃者は、登録リクエストを繰り返し送信して、以下を引き起こす可能性があります:
UserおよびVerificationレコード影響は、パッケージを使用するアプリケーションがどのように登録機能を公開し、どのような不正利用防止策を実装しているかに依存します。
| プロパティ | 値 |
|---|---|
| 攻撃元 | ネットワーク |
| 必要な権限 | なし |
| ユーザー操作 | なし |
| 認証 | 不要 |
| 攻撃の複雑さ | 低 |
このパッケージは、新しい User インスタンスが作成されるたびに、以下のようなリソース集約型の操作を自動的に実行します:
これらの操作が、レート制限やその他の不正利用防止策がない認証されていない登録ワークフローを通じて公開されると、攻撃者によって繰り返しトリガーされ、制御不能なリソース消費につながる可能性があります。
このパッケージを使用するアプリケーションは、以下のような複数層の不正利用防止策を実装する必要があります:
Aykhan Isgandarli によって発見され、責任を持って報告されました。
この勧告は防御および教育目的で提供されています。影響を受けるバージョンを使用する管理者および開発者は、適切な緩和策を適用し、リソース枯渇攻撃のリスクを軽減するためにセキュアな開発プラクティスに従う必要があります。