重要な脆弱性情報 脆弱性概要 脆弱性名: viewer role user can hijack other user account via password reset token leak in lunary-ai/lunary CVE: CVE-2024-5386 脆弱性タイプ: CWE-1125: Excessive Attack Surface 深刻度: Critical (9.6) 詳細情報 影響バージョン: 1.2.2 ステータス: 修正済み 発見者: rangit-git (@rangit-git) 修正者: Hugues Chocart (@hughcart) 技術詳細 攻撃経路: ネットワーク 複雑度: 低 必要な権限: 低 ユーザー相互作用: なし 影響範囲: 変更なし 機密性: 高 完全性: 高 可用性: なし ボーナス情報 公開ボーナス: $900 修正ボーナス: $225 再現手順 1. user-A という名前のアカウントを作成する。 2. user-A アカウントでログインし、user-B という名前の「viewer」ロールのユーザーを追加する。 3. user-B は自分のアカウントでログインし、http://localhost.com:3333/team にアクセスすると、user-A(admin)のメールアドレスを確認できる。 4. user-B は別のブラウザで http://localhost.com:3333/request-password-reset にアクセスし、user-A に対してパスワードリセットを要求する。user-A はパスワードリセットリンクを受け取る。 5. user-B は上記のパスワードリセットトークンを取得するためのリクエストを送信する。 影響 viewer ロールのユーザーは、パスワードリセットトークルの漏洩を通じて他のユーザーアカウントを乗っ取ることができる。 修正メモ Hugues Chocart によりバージョン 1.2.14 でこの脆弱性が修正され、修正コミットは fc7ab34 です。