
Advisory che descrive una vulnerabilità pass-the-hash nell'app VeryFitPro (<=3.3.7) in cui gli hash SHA-1 delle password vengono utilizzati per l'autenticazione, consentendo il takeover dell'account senza la password originale.
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'app VeryFitPro (Android: com.veryfit2hr.second, iOS) <=3.3.7 calcola l'hash della password dell'account localmente sul dispositivo utilizzando SHA-1 e usa l'hash per autenticarsi in tutte le comunicazioni con l'API backend, inclusi login, registrazione e modifica delle password.
Ciò consente a un attaccante in possesso di un hash di prendere il controllo dell'account di un utente senza conoscere la password originale, rendendo inutili i benefici di sicurezza derivanti dall'archiviazione di password hashate nel database. Questa è anche nota come attacco Pass the Hash.
Al 22 aprile 2022, sia le app Android che iOS sono vulnerabili nelle loro versioni più recenti (3.3.7). L'app Android ha oltre 10.000.000 di installazioni, l'app iOS ha 3.4K valutazioni ed è l'app #198 nella categoria "Salute e fitness".
Ad esempio, durante il login, l'app calcola l'hash della password inserita dall'utente utilizzando SHA-1 localmente sul dispositivo e poi effettua una richiesta POST all'URL http://veryfitproapi.veryfitplus.com/user/login con un corpo della richiesta come questo:
area=Europe&password=5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8&account=foo%40bar.com
Il backend poi analizza il corpo della richiesta, confrontando il valore hash definito dalla chiave password con l'hash memorizzato nel database per verificare l'autenticazione dell'utente.
POST di login e sostituisce nel corpo della richiesta il valore hash di password e l'indirizzo email di account con quelli dell'utente