
어드바이저리: VeryFitPro 앱(<=3.3.7)의 패스더해시 취약점을 상세히 설명하며, SHA-1 비밀번호 해시가 인증에 사용되어 원본 비밀번호 없이도 계정 탈취가 가능한 문제를 다룹니다.
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
VeryFitPro 앱(Android: com.veryfit2hr.second, iOS) <=3.3.7은 기기 로컬에서 계정 비밀번호를 SHA-1로 해시하고, 로그인, 회원가입, 비밀번호 변경을 포함한 백엔드 API와의 모든 통신에서 이 해시를 사용하여 인증합니다.
이로 인해 해시를 보유한 공격자는 원래 비밀번호를 알지 못한 채 사용자의 계정을 탈취할 수 있으며, 데이터베이스에 해시된 비밀번호를 저장하는 보안 이점이 무용지물이 됩니다. 이는 Pass the Hash 공격으로도 알려져 있습니다.
2022년 4월 22일 기준으로 Android 및 iOS 앱 모두 최신 버전(3.3.7)에서 영향을 받습니다. Android 앱은 1,000만 회 이상 설치되었으며, iOS 앱은 3.4K개의 평점을 보유하고 "건강 및 피트니스" 카테고리에서 198위 앱입니다.
예를 들어, 로그인 중에 앱은 사용자가 입력한 비밀번호를 기기 로컬에서 SHA-1로 해시한 다음, 다음과 같은 요청 본문으로 URL http://veryfitproapi.veryfitplus.com/user/login에 POST 요청을 보냅니다:
area=Europe&password=5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8&account=foo%40bar.com
그런 다음 백엔드는 요청 본문을 파싱하여 password 키로 정의된 해시 값을 데이터베이스에 저장된 해시와 비교하여 사용자 인증을 검증합니다.
POST 로그인 요청을 가로채서 요청 본문에서 password의 해시 값과 account의 이메일 주소를 사용자의 것으로 교체합니다