
Advisory detalhando uma vulnerabilidade pass-the-hash no aplicativo VeryFitPro (<=3.3.7), onde hashes SHA-1 de senhas são usados para autenticação, permitindo a tomada de conta sem a senha original.
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
O aplicativo VeryFitPro (Android: com.veryfit2hr.second, iOS) <=3.3.7 gera o hash da senha da conta localmente no dispositivo usando SHA-1 e usa o hash para autenticar em toda comunicação com a API de backend, incluindo login, registro e alteração de senhas.
Isso permite que um atacante de posse de um hash assuma a conta de um usuário sem conhecer a senha original, tornando inúteis os benefícios de segurança de armazenar senhas com hash no banco de dados. Isso também é conhecido como um ataque Pass the Hash.
Em 22 de abril de 2022, tanto os aplicativos Android quanto iOS são afetados em suas versões mais recentes (3.3.7). O aplicativo Android tem mais de 10.000.000 de instalações, o aplicativo iOS tem 3,4 mil avaliações e é o aplicativo nº 198 na categoria "Saúde e Fitness".
Por exemplo, durante o login, o aplicativo gera o hash da senha inserida pelo usuário usando SHA-1 localmente no dispositivo e então faz uma solicitação POST para a URL http://veryfitproapi.veryfitplus.com/user/login com um corpo de solicitação como este:
area=Europe&password=5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8&account=foo%40bar.com
O backend então analisa o corpo da solicitação, comparando o valor do hash definido pela chave password com o hash armazenado no banco de dados para verificar a autenticação do usuário.
POST e substitui no corpo da solicitação o valor do hash de password e o endereço de e-mail de account pelos do usuário