Sommaire
Divulgation responsable d'un problème de sécurité chez But.fr
Ce qui nous a poussés à rendre cette information publique
Chez Quintessence, nous nous engageons à améliorer la posture de sécurité des organisations et à protéger les données des utilisateurs.
Nous pensons fortement que BUT utilise un MD5 (sans sel cryptographique) pour hasher les mots de passe des utilisateurs, ce qui présente un risque de sécurité significatif en cas de compromission. Il est donc crucial d'informer l'entreprise afin qu'elle puisse atténuer l'impact potentiel d'une violation de sécurité.
MD5 est une fonction de hachage cryptographique qui produit un checksum de 128 bits, avec le temps, plusieurs vulnérabilités ont été trouvées et depuis 2004, l'algorithme n'est plus considéré comme sûr pour le stockage des mots de passe. De plus, ne pas utiliser de sel cryptographique augmente les chances de réussite d'une attaque par bruteforce ou d'une rainbown table, mettant ainsi les données des utilisateurs en danger, surtout si les mots de passe ne peuvent pas être plus longs que 20 caractères.
Pour en savoir plus sur les implications de sécurité liées à l'utilisation de MD5, consultez cet article.
Étant donné la gravité de cette problématique et le manque de réponse de BUT après notre première prise de contact, nous estimons qu'il est important de rendre cette information publique pour s'assurer que les utilisateurs sont conscients des risques potentiels et peuvent prendre les mesures appropriées pour se protéger.
Chronologie
- 2024-10-28 (Jour 0) : Première tentative de contact avec BUT via le support client (pas de courriel public connu,
security.txt
expiré), nous avons clairement expliqué que nous avions identifié un "problème de sécurité" et que nous devions parler à quelqu'un de l'équipe qui assure la prise en charge de ces sujets. - 2024-10-30 (Jour 2) : BUT accuse bonne réception de notre message et nous ont informé qu'ils le transmettraient à l'équipe appropriée.
- 2024-11-05 (Jour 8) : Nous avons relancé BUT pour demander des nouvelles.
- 2024-11-05 (Jour 8) : BUT a confirmé qu'ils avaient reçu notre message et qu'ils travaillaient dessus.
- 2024-11-06 (Jour 9) : BUT nous a automatiquement envoyé un questionnaire de satisfaction, mais nous n'avions pas encore reçu de réponse de l'équipe de sécurité.
- 2024-11-12 (Jour 15) : Nous avons relancé de nouveau BUT pour demander si ils avaient une équipe informatique capable de gérer ce genre de problèmes.
- 2024-11-14 (Jour 17) : BUT a répondu que leur équipe informatique s'occupait de notre demande.
- 2024-12-02 (Jour 35) : Aucune communication supplémentaire de la part de BUT, nous n'avons pas pu envoyer des informations détaillées sur le problème en raison du manque de canal sécurisé. Le problème reste non résolu, nous avons publiquement divulgué les informations de manière responsable sur Bluesky et X
- 2024-12-03 (Jour 36) : Divulgation responsable sur notre site web.
Impact de sécurité
L'utilisation d'MD5 sans sel cryptographique pour hasher des mots de passe présente un risque de sécurité significatif.
- Vulnérabilité aux attaques par bruteforce : MD5 est vulnérable aux attaques par bruteforce car il ne possède pas la complexité nécessaire pour résister aux machines modernes.
- Attaques avec des rainbow tables : Les rainbow tables peuvent être utilisées pour inverser rapidement les hashs MD5, facilitant ainsi la tâche d'un attaquant cherchant à casser des mots de passe.
- Conséquences en cas de fuite de données : En cas de fuite de données, les mots de passe compromis pourraient être facilement crackés, entraînant un accès non autorisé aux comptes des utilisateurs et un risque potentiel de vol d'identité si les mêmes mots de passe sont réutilisés sur plusieurs plateformes.
Étapes de reproduction
Pour constater les faits:
- Créer un compte sur BUT.
- Faire une requête GET authentifiée sur l'endpoint
https://www.but.fr/Api/Rest/Customers/:id/FullData
- Parser le JSON et regarder la valeur de la clé
password
qui correspond au mot de passe hashé en MD5 spécifié lors de la création du compte.
1{
2 [...]
3 "lastname": "test",
4 "firstname": "test",
5 "email": "[email protected]",
6 "password": "d8751809720815aa454dd410eb6f0032",
7 [...]
8}
1$ echo -n 'vcEnJfe3fy>]v^$]hxyz' | md5sum
2d8751809720815aa454dd410eb6f0032 -
Recommandations pour les utilisateurs
Étant donné les risques de sécurité associés à la pratique actuelle de hashage des mots de passe chez BUT, nous recommandons aux utilisateurs de prendre les mesures suivantes :
- Supprimez votre compte BUT : Pour protéger vos données personnelles, envisagez de supprimer votre compte sur BUT, surtout si ce dernier n'est plus utilisé.
- Changez vos mots de passe ailleurs : Si vous utilisez le même mot de passe sur d'autres sites ou services, changez-le immédiatement.
- Utilisez des mots de passe uniques et forts : Utilisez toujours des mots de passe uniques et forts pour différents comptes afin de minimiser le risque qu'un mot de passe compromis affecte plusieurs services.
- Surveillez vos comptes : Gardez un œil sur vos comptes à la recherche d'activités non autorisées et signalez-les immédiatement si vous en détectez.
Recommandations pour BUT
Pour supprimer les risques de sécurité liés au stockage des mots de passe, nous recommandons à BUT de prendre les mesures suivantes :
- Utiliser un algorithme de hashage plus moderne : Remplacez MD5 par un algorithme de hachage plus sûr tel qu'Argon2 et migrez progressivement les mots de passe existants vers le nouvel algorithme lorsque les utilisateurs se connectent.
- Forcer la réinitialisation des mots de passe : Réinitialisez les mots de passe des utilisateurs afin que tous les mots de passe soient hashés avec le nouvel algorithme.
- Augmentez la longueur maximale des mots de passe : Permettez aux utilisateurs de créer des mots de passe plus longs que 20 caractères afin d'augmenter la complexité et la sécurité de leurs identifiants.