Giteaの「ログイン状態を保持する(Remember-Me)」機能のトークン検証ロジックにおいて、セッション無効化の不備が存在する。GiteaではトークンにIDとハッシュの分割設計を採用しており、ハッシュの不一致が検出された場合(トークンが侵害された可能性を示す)は、関連するすべてのセッションを無効化しなければならない。しかし、脆弱なバージョンでは、データベースから侵害されたトークンが削除されないため、攻撃者のアクティブなセッションが維持されてしまう。結果として、攻撃者は被害者のアカウントへの永続的な不正アクセスを継続できるおそれがある。
対象ソフト
Giteaは、軽量で自己ホスト型のGitサービスを提供するオープンソースのアプリケーションである。開発チームや組織内のコード管理プラットフォームとして広く利用されている。
影響
攻撃者にRemember-Meトークンが窃取された場合、被害者側でトークンの不一致が検知されても攻撃者のセッションは無効化されず、攻撃者にアカウントへの無期限かつ永続的なアクセスを維持されるおそれがある。
対応策
code.gitea.io/gitea を 1.27.0 以降にアップグレードすること。