
Advisory que detalla una vulnerabilidad pass-the-hash en la aplicación VeryFitPro (<=3.3.7) donde se utilizan hashes SHA-1 de contraseñas para la autenticación, lo que permite la toma de control de la cuenta sin la contraseña 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
La aplicación VeryFitPro (Android: com.veryfit2hr.second, iOS) <=3.3.7 calcula el hash de la contraseña de la cuenta localmente en el dispositivo usando SHA-1 y utiliza el hash para autenticarse en toda la comunicación con la API del backend, incluyendo el inicio de sesión, el registro y el cambio de contraseñas.
Esto permite que un atacante que posea un hash pueda tomar el control de la cuenta de un usuario sin conocer la contraseña original, haciendo inútiles los beneficios de seguridad de almacenar contraseñas con hash en la base de datos. Esto también se conoce como un ataque Pass the Hash.
A partir del 22 de abril de 2022, tanto las aplicaciones de Android como las de iOS están afectadas en sus versiones más recientes (3.3.7). La aplicación de Android tiene más de 10.000.000 de instalaciones, la aplicación de iOS tiene 3.4K valoraciones y es la aplicación #198 en la categoría "Salud y fitness".
Por ejemplo, durante el inicio de sesión, la aplicación calcula el hash de la contraseña introducida por el usuario usando SHA-1 localmente en el dispositivo y luego realiza una solicitud POST a la URL http://veryfitproapi.veryfitplus.com/user/login con un cuerpo de solicitud como este:
area=Europe&password=5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8&account=foo%40bar.com
El backend luego analiza el cuerpo de la solicitud, comparando el valor del hash definido por la clave password con el hash almacenado en la base de datos para verificar la autenticación del usuario.
POST de inicio de sesión y reemplaza en el cuerpo de la solicitud el valor del hash de password y la dirección de correo electrónico de account con los del usuario