Vulnérabilité critique dans Django
Date de publication :
Une vulnérabilité a été découverte dans Django permettant à un attaquant distant de voler des comptes utilisateurs grâce à la fonctionnalité de réinitialisation des mots de passe.
CVE-2019-19844 [Score CVSS v3 : 9.8] : Une vulnérabilité dans Django permet à un attaquant distant de récupérer un jeton de réinitialisation de mot de passe d’un utilisateur en utilisant la fonction de mot de passe oublié.
Lorsqu’un utilisateur demande la réinitialisation du mot de passe à travers le formulaire dédié, Django normalise la casse de l’adresse email saisie.
Cependant, certains caractères Unicode peuvent avoir des collisions lors de cette transformation.
Un attaquant pourrait créer une adresse mail dont la version normalisée correspondant à un compte utilisateur existant. Ainsi, l'attaquant recevra le jeton de réinitialisation du mot de passe à la place de l'utilisateur.
Informations
La faille est activement exploitée :
Un correctif existe :
Une mesure de contournement existe :
Risques
Vol de comptes
Criticité
Score CVSS v3 : 9.8
Existence d’un code d‘exploitation
-
Le code d'exploitation est trouvable sur Github
Composants vulnérables
-
Django 3.0
Django 2.2
Django 1.11
CVE
Solutions ou recommandations
Mise en place de correctifs de sécurité
- Mettre à jour Django 1.11 à la version 1.11.27 ou à une version supérieure.
- Mettre à jour Django 2.2 à la version 2.2.9 ou à une version supérieure.
- Mettre à jour Django 3.0 à la version 3.0.1 ou à une version supérieure.
Solution de contournement
Aucune solution de contournement n’est disponible.