
Avis détaillé CVE-2026-51788 concernant une vulnérabilité DoS dans cleverange_auth v0.1.10, avec analyse technique, score CVSS et recommandations d'atténuation pour les développeurs.
Identifiant CVE : CVE-2026-51788
Statut : Assigné
Date de découverte : 2026-04-27
Chercheur : Aykhan Isgandarli
Gravité : Élevée (CVSS v3.1 : 7.5)
Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Produit concerné : cleverange_auth
Version concernée : v0.1.10
CWE : CWE-400 (Consommation incontrôlée de ressources), CWE-770 (Allocation de ressources sans limites)
Une vulnérabilité de déni de service (DoS) existe dans cleverange_auth version 0.1.10. La vulnérabilité est causée par la génération automatique d'enregistrements de vérification et l'envoi immédiat d'e-mails chaque fois qu'un nouvel objet User est créé.
Si une application utilisant ce package expose un point de terminaison d'inscription accessible au public sans protections appropriées contre les abus telles que la limitation de débit ou le CAPTCHA, un attaquant distant non authentifié peut créer à plusieurs reprises de nouveaux comptes et déclencher une génération excessive d'e-mails et des écritures en base de données, entraînant un épuisement des ressources.
Fichier
accounts/models.py
Fonction
@receiver(post_save, sender=User)
def create_verification(...)
Lorsqu'un nouvel objet User est créé, le signal post-save create_verification exécute automatiquement les opérations suivantes :
Verification.account_code à 12 chiffres.verify_code à 6 chiffres.Le chemin de code concerné est :
@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)
Comme le signal exécute ces actions automatiquement pour chaque nouvel utilisateur créé, les applications qui ne mettent pas en œuvre de limitation de requêtes ou d'autres contrôles anti-automatisation peuvent permettre aux attaquants de déclencher à plusieurs reprises des opérations coûteuses.
Un attaquant non authentifié peut soumettre à plusieurs reprises des demandes d'inscription pour déclencher :
User et VerificationL'impact dépend de la façon dont l'application utilisant le package expose sa fonctionnalité d'inscription et des protections contre les abus mises en œuvre par l'application.
| Propriété | Valeur |
|---|---|
| Vecteur d'attaque | Réseau |
| Privilèges requis | Aucun |
| Interaction utilisateur | Aucune |
| Authentification | Non requise |
| Complexité d'attaque | Faible |
Le package exécute automatiquement des opérations gourmandes en ressources chaque fois qu'une nouvelle instance User est créée, notamment :
Lorsque ces opérations sont exposées via un flux d'inscription non authentifié sans limitation de débit ni autres protections contre les abus, elles peuvent être déclenchées à plusieurs reprises par un attaquant, conduisant à une consommation incontrôlée de ressources.
Les applications utilisant ce package devraient mettre en œuvre plusieurs couches de protection contre les abus, notamment :
Découverte et signalée de manière responsable par Aykhan Isgandarli.
Cet avis est fourni à des fins défensives et éducatives. Les administrateurs et développeurs utilisant des versions concernées devraient appliquer les atténuations appropriées et suivre des pratiques de développement sécurisées afin de réduire le risque d'attaques par épuisement des ressources.