
Advertencia detallada de CVE-2026-51788 sobre una vulnerabilidad DoS en cleverange_auth v0.1.10, con análisis técnico, puntuación CVSS y orientación de mitigación para desarrolladores.
ID de CVE: CVE-2026-51788
Estado: Asignado
Fecha de descubrimiento: 2026-04-27
Investigador: Aykhan Isgandarli
Gravedad: Alta (CVSS v3.1: 7.5)
Vector CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Producto afectado: cleverange_auth
Versión afectada: v0.1.10
CWE: CWE-400 (Consumo descontrolado de recursos), CWE-770 (Asignación de recursos sin límites)
Existe una vulnerabilidad de Denegación de Servicio (DoS) en cleverange_auth versión 0.1.10. La vulnerabilidad es causada por la generación automática de registros de verificación y el envío inmediato de correos electrónicos cada vez que se crea un nuevo objeto User.
Si una aplicación que utiliza este paquete expone un endpoint de registro accesible públicamente sin protecciones adecuadas contra abusos, como limitación de velocidad o CAPTCHA, un atacante remoto no autenticado puede crear repetidamente nuevas cuentas y provocar una generación excesiva de correos electrónicos y escrituras en la base de datos, resultando en agotamiento de recursos.
Archivo
accounts/models.py
Función
@receiver(post_save, sender=User)
def create_verification(...)
Cuando se crea un nuevo objeto User, la señal post-save create_verification realiza automáticamente las siguientes operaciones:
Verification.account_code de 12 dígitos.verify_code de 6 dígitos.La ruta de código relevante es:
@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)
Debido a que la señal realiza estas acciones automáticamente para cada usuario recién creado, las aplicaciones que no implementan limitación de solicitudes u otros controles de automatización pueden permitir que los atacantes activen repetidamente operaciones costosas.
Un atacante no autenticado puede enviar repetidamente solicitudes de registro para desencadenar:
User y VerificationEl impacto depende de cómo la aplicación que utiliza el paquete expone su funcionalidad de registro y qué protecciones contra abusos están implementadas por la aplicación.
| Propiedad | Valor |
|---|---|
| Vector de ataque | Red |
| Privilegios requeridos | Ninguno |
| Interacción del usuario | Ninguna |
| Autenticación | No requerida |
| Complejidad del ataque | Baja |
El paquete realiza automáticamente operaciones intensivas en recursos cada vez que se crea una nueva instancia de User, incluyendo:
Cuando estas operaciones se exponen a través de un flujo de registro no autenticado sin limitación de velocidad u otras protecciones contra abusos, pueden ser desencadenadas repetidamente por un atacante, lo que lleva a un consumo descontrolado de recursos.
Las aplicaciones que utilizan este paquete deben implementar múltiples capas de protección contra abusos, incluyendo:
Descubierto y reportado responsablemente por Aykhan Isgandarli.
Este aviso se proporciona con fines defensivos y educativos. Los administradores y desarrolladores que utilicen versiones afectadas deben aplicar las mitigaciones adecuadas y seguir prácticas de desarrollo seguro para reducir el riesgo de ataques de agotamiento de recursos.