Critical GitLab bug lets attackers run pipelines as any user

GitLab Community EditionとEnterprise Editionの特定のバージョンに致命的な脆弱性があり、これを悪用されると任意のユーザーとしてパイプラインを実行される可能性があります。

GitLabは、人気のあるウェブベースのオープンソースソフトウェアプロジェクト管理および作業追跡プラットフォームです。アクティブなライセンス・ユーザーは100万人と推定されている。

最新のアップデートで対処されたセキュリティ問題は、CVE-2024-5655として追跡されており、深刻度は10段階中9.6となっている。ベンダーが定義していない特定の状況下で、攻撃者はこの問題を利用して、別のユーザーとしてパイプラインを起動させることができる。

GitLabパイプラインは、継続的インテグレーション/継続的デプロイメント(CI/CD)システムの機能で、コードの変更をビルド、テスト、デプロイするためのプロセスやタスクを、並列または順番に自動的に実行できるようにするものです。

この脆弱性は、15.8から16.11.4、17.0.0から17.0.2、17.1.0から17.1.0までのすべてのGitLab CE/EEバージョンに影響します。

「以下に説明する問題の影響を受けるバージョンを実行しているすべてのインストールは、できるだけ早く最新バージョンにアップグレードすることを強く推奨します」 –GitLab

GitLabは、バージョン17.1.1、17.0.3、16.11.5をリリースすることで脆弱性に対処しており、ユーザーにはできるだけ早くアップデートを適用するよう推奨している。

ベンダーはまた、最新バージョンへのアップグレードには、ユーザーが注意すべき2つの画期的な変更が伴うことを通知している:

  1. 以前のターゲットブランチがマージされた後にマージリクエストが再ターゲットされた場合、パイプラインは自動的に実行されなくなりました。ユーザーは手動でパイプラインを開始し、自分の変更に対して CI を実行する必要があります。
  2. バージョン 17.0.0 以降の GraphQL 認証では CI_JOB_TOKEN がデフォルトで無効になり、この変更はバージョン 17.0.3 および 16.11.5 にバックポートされました。GraphQL APIにアクセスするには、ユーザーは認証用にサポートされているトークンタイプのいずれかを設定する必要があります。

最新のGitLabアップデートでは、その他にも13の問題のセキュリティ修正が行われており、そのうち3つの問題の深刻度は「高」(CVSS v3.1スコア:7.5~8.7)と評価されている。これら3件の概要は以下の通り:

  • CVE-2024-4901:CVE-2024-4901: 保存された XSS 脆弱性により、インポートされたプロジェクトの悪意のあるコミットノートにスクリプトが注入され、不正な操作やデータの漏洩につながる可能性があります。
  • CVE-2024-4994:GraphQL API に CSRF 脆弱性があり、攻撃者が認証ユーザーを騙して不要なリクエストをさせることで、任意の GraphQL 変異を実行することが可能です。
  • CVE-2024-6323:GitLabのグローバル検索機能に認可の欠陥があり、攻撃者が公開プロジェクト内の非公開リポジトリから検索結果を閲覧できる可能性があり、情報漏えいや機密データへの不正アクセスにつながる可能性があります。

GitLabアップデートのリソースはこちら、GitLab Runnerガイドラインはこちらのページにあります。