GitLabへのセッションハイジャック攻撃を通じてユーザーを悪用することを目的とした攻撃者–企業がバグを修正したため、最新のWebベースのGitリポジトリマネージャーは追跡を停止されました.
ハイジャックのバグとGitLabとユーザーの潜在的な損害
「攻撃者に代わってエクスプロイトが成功した場合, システム内の脆弱性は、有害な活動の広範なリストを開始した可能性があります,” 今年5月にバグを発見したダニエル・スバートマンは言った. でも, GitLabがバグにパッチを適用し、問題が修正されたことをユーザーに安心させた後、彼は今週まで情報を開示できませんでした.
攻撃者がアカウントをブルートフォースする試みに成功した場合, 彼らは自分たちにアカウントを管理する能力を与えるでしょう, コードをダンプする, アカウントの更新を実行するだけでなく、一般に公開されていない新しいバージョンのソフトウェアなどで個人情報や機密データを盗むという注目に値する可能性. コードの更新を実行すると、攻撃者がマルウェアをコードに埋め込む可能性がある他の可能性があります.
スヴァルトマンは、彼が何かが正しくないことに気づきました 発見した 彼のセッショントークンが彼のURLにあったこと. したがって, 彼がしなければならなかったのは、GitLabのダッシュボードへのアクセスを保護するために、トークンを数回コピーしてWebサイトの周りに貼り付けることだけでした。, 口座情報, 他の個人および進行中の会社のプロジェクト、さらにはサイトのコード.
これは、サイトに何かが起きていることを示唆する唯一の心配事ではありませんでした. セッショントークンを公開する, URLに表示されている, 十分に心配している, バグ自体をより鮮明に公開します. でも, 彼の最初の観察を確認したのはスヴァルトマンの2番目の発見でした: GitLabラボは、有効期限が切れない永続的なプライベートセッショントークンを利用します. これが意味するのは、攻撃者がユーザーのセッショントークンへのアクセスを保護できた場合です。, 期限切れにはなりません. これは、攻撃者が情報を盗んだ数週間または数か月後に攻撃を仕掛けることができるため、攻撃者にとって特に有益です。, 被害者に侵入に気づかず、無知なままにする.
Svartmanの関心を急上昇させたもう1つの疑わしい機能は、トークンが 20 長文字, ブルートフォーシングの影響を受けやすいままにします. トークンの永続的な性質と管理者レベルのアクセスがユーザーに付与されている場合, これが迫り来るセキュリティホールであることは間違いありませんでした.
GitLabがハイジャックのバグを修正
脆弱性が最終的に修正される前に、どのくらいの期間ユーザーにさらされていたのかはまだわかっていません。. でも, 研究者は、ユーザーが会社のサポートフォーラムで同じ問題について話し合っているのを見て、GitLabに問題を強調して提起した最初の個人ではなかったと指摘しています。.
GitLabのセキュリティリード, ブライアンニール, 会社によるプライベートトークンの使用はここでの主な問題ではなく、それ自体の問題でもないことを強調しました. 彼はさらに詳しく説明しました:
「これは直接悪用できるものではありません. プライベートトークンの存在は、クロスサイトスクリプティングまたはその他の脆弱性と組み合わせた場合にのみ問題になります. 一般的に言えば, プライベートトークンを持つアカウントは、トークンが存在しない場合よりも侵害のリスクがありません。, トークンを盗むために別の脆弱性が利用されない限り. 最新のWebサービスのほとんどは、プライベートトークンの概念をサポートしています: AWSにはアクセス/秘密鍵があります, GitHubにはアクセストークンがあります, デジタルオーシャンにはトークンがあります, 等. それらのトークンと私たちのプライベートトークンの唯一の本当の違いは、それらがAPIに制限されており、通常は暗号化されていることです. パーソナルアクセストークンを使用して、これらのオプションの両方をサポートします. GitLabは現在、パーソナルアクセストークンを優先してプライベートトークンを段階的に廃止しています。」
GitLab, 一方で, RSSフィードを取得するためのプライベートトークンをカスタムRSSトークンに置き換え始めました. このイニシアチブは、セッションIDが漏洩しないようにするために実施されました。. パーソナルアクセストークンも、役割ベースのアクセス制御を提供するGitLabによってますます採用されています, したがって、セキュリティ対策も強化されます.