
Advisory, das eine Pass-the-Hash-Schwachstelle in der VeryFitPro-App (<=3.3.7) beschreibt, bei der SHA-1-Passwort-Hashes für die Authentifizierung verwendet werden, was eine Kontopübernahme ohne das ursprüngliche Passwort ermöglicht.
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
Die VeryFitPro-App (Android: com.veryfit2hr.second, iOS) <=3.3.7 hasht das Passwort des Kontos lokal auf dem Gerät mit SHA-1 und verwendet den Hash zur Authentifizierung in der gesamten Kommunikation mit der Backend-API, einschließlich Login, Registrierung und Passwortänderung.
Dies ermöglicht es einem Angreifer, der im Besitz eines Hashs ist, das Konto eines Benutzers zu übernehmen, ohne das ursprüngliche Passwort zu kennen, wodurch die Sicherheitsvorteile der Speicherung von gehashten Passwörtern in der Datenbank zunichte gemacht werden. Dies ist auch als Pass-the-Hash-Angriff bekannt.
Stand 22. April 2022 sind sowohl die Android- als auch die iOS-App in ihren neuesten Versionen betroffen (3.3.7). Die Android-App hat über 10.000.000 Installationen, die iOS-App hat 3,4K Bewertungen und ist die App Nr. 198 in der Kategorie „Health & Fitness".
Beispielsweise hasht die App beim Login das vom Benutzer eingegebene Passwort lokal auf dem Gerät mit SHA-1 und sendet dann eine POST-Anfrage an die URL http://veryfitproapi.veryfitplus.com/user/login mit einem Anfragetext wie diesem:
area=Europe&password=5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8&account=foo%40bar.com
Das Backend parst dann den Anfragetext und vergleicht den durch den password-Schlüssel definierten Hashwert mit dem in der Datenbank gespeicherten Hash, um die Authentifizierung des Benutzers zu überprüfen.
POST-Login-Anfrage ab und ersetzt im Anfragetext den Hashwert von password und die E-Mail-Adresse von account durch die des Benutzers