
Advertência detalhada do CVE-2026-51788 sobre uma vulnerabilidade DoS no cleverange_auth v0.1.10, com análise técnica, pontuação CVSS e orientação de mitigação para desenvolvedores.
ID do CVE: CVE-2026-51788
Status: Atribuído
Data Descoberta: 2026-04-27
Pesquisador: Aykhan Isgandarli
Severidade: Alta (CVSS v3.1: 7.5)
Vetor CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Produto Afetado: cleverange_auth
Versão Afetada: v0.1.10
CWE: CWE-400 (Consumo Não Controlado de Recursos), CWE-770 (Alocação de Recursos Sem Limites)
Existe uma vulnerabilidade de Negação de Serviço (DoS) no cleverange_auth versão 0.1.10. A vulnerabilidade é causada pela geração automática de registros de verificação e entrega imediata de e-mail sempre que um novo objeto User é criado.
Se uma aplicação que utiliza este pacote expõe um endpoint de registro acessível publicamente sem proteções adequadas contra abuso, como limitação de taxa ou CAPTCHA, um atacante remoto não autenticado pode criar repetidamente novas contas e desencadear geração excessiva de e-mails e escritas no banco de dados, resultando em exaustão de recursos.
Arquivo
accounts/models.py
Função
@receiver(post_save, sender=User)
def create_verification(...)
Quando um novo objeto User é criado, o sinal pós-salvamento create_verification executa automaticamente as seguintes operações:
Verification.account_code de 12 dígitos.verify_code de 6 dígitos.O caminho de código relevante é:
@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)
Como o sinal executa essas ações automaticamente para cada novo usuário criado, aplicações que não implementam limitação de requisições ou outros controles anti-automação podem permitir que atacantes acionem repetidamente operações custosas.
Um atacante não autenticado pode enviar repetidamente requisições de registro para desencadear:
User e VerificationO impacto depende de como a aplicação que usa o pacote expõe sua funcionalidade de registro e quais proteções contra abuso são implementadas pela aplicação.
| Propriedade | Valor |
|---|---|
| Vetor de Ataque | Rede |
| Privilégios Necessários | Nenhum |
| Interação do Usuário | Nenhum |
| Autenticação | Não Necessária |
| Complexidade do Ataque | Baixa |
O pacote executa automaticamente operações que consomem muitos recursos sempre que uma nova instância User é criada, incluindo:
Quando essas operações são expostas por meio de um fluxo de registro não autenticado sem limitação de taxa ou outras proteções contra abuso, elas podem ser acionadas repetidamente por um atacante, levando ao consumo descontrolado de recursos.
Aplicações que utilizam este pacote devem implementar múltiplas camadas de proteção contra abuso, incluindo:
Descoberto e reportado de forma responsável por Aykhan Isgandarli.
Este aviso é fornecido para fins defensivos e educacionais. Administradores e desenvolvedores que usam versões afetadas devem aplicar as mitigações adequadas e seguir práticas de desenvolvimento seguro para reduzir o risco de ataques de exaustão de recursos.