GitLab backports fix for CVE-2024-45409 to older versions
2024/09/25 SecurityOnline — GitLab が 9月25日にリリースしたセキュリティ・アップデートは、GitLab Community Edition(CE)/Enterprise Edition(EE) の全バージョンに影響を与える、深刻な SAML 認証バイパス脆弱性 CVE-2024-45409 に対処するためのものだ。セルフマネージド・インストールの管理者に対して強く推奨されるのは、新たにパッチが適用されたバージョン (16.10.10/16.9.11/16.8.10/16.7.10/16.6.10/16.5.10/16.4.7/16.3.9/16.2.11/16.1.8/16.0.10) へと直ちにアップグレードすることだ。 これらのバージョンに含まれるのは、9月17日に GitLab バージョン 17.x.x/16.11.10 向けにリリースされたセキュリティ修正である。

CVE-2024-45409 は深刻な脆弱性であり、GitLab の OmniAuth フレームワークで用いられる、SAML (Security Assertion Markup Language) 認証に影響を及ぼすものだ。ユーザー・ログインを簡素化する SSO (single sign-on)プロトコルである SAML は、1組の認証情報を用いて複数のサービスへのアクセスを実現するものだ。
この脆弱性は、IdP (Identity Provider) から送信された SAML レスポンスを、GitLab が検証する際の方式から生じる。具体的に言うと、OmniAuth-SAML および Ruby-SAML ライブラリに起因する。
このバグは、GitLab が SAML アサーションの特定の要素を、特に extern_uid (外部ユーザー ID) を、誤って処理した場合に発生する。この extern_uid という識別子はユーザーを認識するものであるが、複数のシステムにまたがって使用されるため、きわめて重要なものとなる。したがって、SAML レスポンスが誤って設定/操作された場合には、この脆弱性を悪用する攻撃者は認証を回避し、GitLab インスタンスへの不正アクセスを達成する。
つまり、この脆弱性の悪用に成功した攻撃者は、悪意の SAML レスポンスを作成し、正規の認証済みユーザーであると、GitLab に信じ込ませることが可能となる。その結果として、SAML 認証を完全に回避する攻撃者は、GitLab の機密リポジトリに無制限にアクセスし、ソースコードや知的財産などの重要なビジネス資産を、危険にさらす可能性を手にする。
実環境での悪用事例について、GitLab は明確にしていないが、同社のセキュリティ情報においては、すでに試行されている可能性があると警告されている。悪用された可能性を示す兆候は下記の通りだ:
- “RubySaml::ValidationError” に関連するエラー (未遂)
- 新規もしくは異常な “extern_uid” 値が認証ログに記録されている (成功)
- SAML レスポンスにおいて、情報の欠落または誤りある
- 単一ユーザーに対して、複数の “extern_uid” 値が記録されている (アカウントが侵害された可能性)
- 不明または疑わしい IP アドレスから SAML 認証が実行されている
GitLab が強く推奨するのは、影響を受ける全てのセルフマネージド・インストールに関して、適用バージョンへと直ちにアップグレードすることだ。
この GitLab SAML の脆弱性 CVE-2024-45409 ですが、2024/09/18 の「GitLab CE/EE の SAML 脆弱性 CVE-2024-45409 が FIX:直ちにアップデートを!」が第一報となっています。また、2024/09/11 には「Ruby-SAML の脆弱性 CVE-2024-45409 (CVSS 10.0) がFIX:認証バイパスの恐れ」という関連記事もポストされています。よろしければ、ご参照ください。
You must be logged in to post a comment.