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 对象时自动生成验证记录并立即发送电子邮件而导致的。
如果使用此包的应用程序暴露了可公开访问的注册端点,且没有适当滥用防护措施(如速率限制或验证码),未经身份验证的远程攻击者可以重复创建新账户,触发过多的电子邮件生成和数据库写入,从而导致资源耗尽。
文件
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 发现并负责任地报告。
此公告仅供防御和教育目的。使用受影响版本的管理员和开发人员应应用适当的缓解措施,并遵循安全开发实践,以降低资源耗尽攻击的风险。