
Avis détaillant une vulnérabilité pass-the-hash dans l’application VeryFitPro (<=3.3.7) où les hachages SHA-1 des mots de passe sont utilisés pour l’authentification, permettant la prise de contrôle du compte sans le mot de passe d’origine.
NVD CVE-2021-36460 : https://nvd.nist.gov/vuln/detail/CVE-2021-36460
MITRE CVE-2021-36460 : https://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-36460
L'application VeryFitPro (Android : com.veryfit2hr.second, iOS) <=3.3.7 hache le mot de passe du compte localement sur l'appareil à l'aide de SHA-1 et utilise le hash pour s'authentifier dans toutes les communications avec l'API backend, y compris la connexion, l'inscription et le changement de mot de passe.
Cela permet à un attaquant en possession d'un hash de prendre le contrôle du compte d'un utilisateur sans connaître le mot de passe d'origine, rendant ainsi inutiles les avantages de sécurité liés au stockage des mots de passe hachés dans la base de données. C'est également ce qu'on appelle une attaque Pass the Hash.
Au 22 avril 2022, les applications Android et iOS sont concernées dans leurs versions les plus récentes (3.3.7). L'application Android compte plus de 10 000 000 d'installations, l'application iOS a 3,4K évaluations et est la 198e application dans la catégorie « Santé et remise en forme ».
Par exemple, lors de la connexion, l'application hache le mot de passe saisi par l'utilisateur à l'aide de SHA-1 localement sur l'appareil, puis effectue une requête POST vers l'URL http://veryfitproapi.veryfitplus.com/user/login avec un corps de requête comme celui-ci :
area=Europe&password=5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8&account=foo%40bar.com
Le backend analyse ensuite le corps de la requête, en comparant la valeur du hash définie par la clé password avec le hash stocké dans la base de données afin de vérifier l'authentification de l'utilisateur.
POST de connexion et remplace dans le corps de la requête la valeur du hash de password et l'adresse e-mail de account par celles de l'utilisateur