GitLab CE/EE の SAML 脆弱性 CVE-2024-45409 が FIX:直ちにアップデートを!

GitLab releases fix for critical SAML authentication bypass flaw

2024/09/18 BleepingComputer — GitLab リリースしたセキュリティ・アップデートは、GitLab Community Edition(CE)/Enterprise Edition(EE) のセルフマネージド・インストールに影響を与える、重大な SAML 認証バイパス脆弱性 CVE-2024-45409 に対処するためのものだ。SAML (Security Assertion Markup Language) とは、ユーザーが同じ認証情報を使用して異なるサービスにログインするための、SSO (Single Sign-On) 認証プロトコルである。脆弱性 CVE-2024-45409 は、GitLab が SAML ベースの認証を処理するために使用している、OmniAuth-SAML/Ruby-SAML ライブラリの問題に起因する。


この脆弱性は、IdP (identity provider) から GitLab に送信された SAML レスポンスに、ミスコンフィグが含まれる場合と、それが操作されている場合に発生する。

具体的に言うと、この脆弱性は、異なるシステム間でユーザーを一意に識別するために使用される、extern_uid( 外部ユーザーID) などの SAML アサーションにおける、主要素の検証が不十分であることに起因する。

それにより攻撃者は、認証済みユーザーとして GitLab に誤認させる、悪意の SAML レスポンスを作成し、SAML 認証を回避して GitLab インスタンスにアクセスできる。

脆弱性 CVE-2024-45409 は、GitLab 17.3.3/17.2.7/17.1.8/17.0.8/16.11.10 および、それらのブランチの全てのリリースに影響する。すでに GitLab 17.3.3/17.2.7/17.1.8/17.0.8/16.11.10 で、この脆弱性は対処されており、OmniAuth SAML はバージョン 2.2.1 で、Ruby-SAML は 1.17.0 で、それぞれがアップグレードされている。

GitLab はアドバイザリで、「影響を受けるバージョンを使用している全てのインストールを、最新バージョンへと可能な限り早急にアップグレードすることを強く推奨する」と警告している。

この問題の影響を受けるのはセルフマネージドのインストールのみであるため、GitLab.com 上の GitLab 専用インスタンスのユーザーは対応が不要である。

すぐに安全なバージョンへとアップグレードできないユーザーに対して、GitLab が推奨するのは、すべてのアカウントにおいて2要素認証 (2FA) を有効化し、SAML 2FA バイパス・オプションを “do not allow” に設定することだ。

悪用された兆候

この脆弱性が以前に悪用されたことについて、GitLab は明言していない。しかし、同社はセキュリティ勧告の中で、悪用が試みられた、または成功した兆候が示されており、すでに攻撃者が、この脆弱性を攻撃に悪用している可能性が示唆されている。

悪用の試み、または、悪用に成功した兆候は、以下の通りである。

  • RubySaml::ValidationError に関連するエラー (試行失敗)。
  • 新規/異常な extern_uid 値が認証ログに記録されている(試行成功)。
  • SAML レスポンスに欠落がある。または、不正確な情報が含まれている。
  • 単一のユーザーに対して複数の extern_uid 値が記録されている (アカウント侵害の可能性)。
  • ユーザーの通常のアクセス・パターンと比較して、疑わしい IP アドレスから SAML 認証が行われている。
Example log of successful exploitation
悪用成功の例となるログ
Source: GitLab

9月17日に BleepingComputer は、CVE-2024-45409 の悪用について GitLab に問い合わせたが、現時点では回答は得られていない。