
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のメールアドレスをユーザーのものに置き換えます