Vulnérabilité critique dans Django

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
+

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


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.