GitLab の深刻な脆弱性 CVE-2023-7028/CVE-2023-5356 などが FIX:直ちにアップデートを!

CVE-2023-7028 & 5356: GitLab Addresses Account Takeover & Command Flaws

2024/01/11 SecurityOnline — 進化し続けるサイバー脅威の状況に対応するために、DevOps 分野で有名な GitLab が、先日に一連の重大な脆弱性を修正した。今回のアップデートで修正された脆弱性には、Critical なものとして CVE-2023-7028/CVE-2023-5356 があるが、その他にも3件の脆弱性が修正されている。


CVE-2023-7028:ユーザーの操作を伴わない、パスワード・リセットによるアカウント乗っ取り

このセキュリティ・アップデートの核となるのは、GitLab ユーザーに深刻な脅威をもたらした脆弱性 CVE-2023-7028 (CVSS:10.0) である。この脆弱性は、セキュリティ研究者の asterion04 が、HackerOne バグ報奨金プログラムを通じて報告したものであり、アカウントの乗っ取りや不正なコマンド実行につながる可能性がある。

この脆弱性は GitLab 16.1 から存在していた。この バージョン 16.1 では、二次的なEメールを使用することにより、パスワード・リセットが可能になっていた。しかし、Eメールの検証プロセスに不具合があったことで、リセットされたメールが検証されていない受信トレイに届く可能性があったという。

GitLab は、「16.1.0 へのアップデートで生じた問題は、二次的なEメール・アドレスを介して、ユーザーによるパスワード・リセットが可能だった点にある。この脆弱性 CVE-2023-7028 は、このEメール認証プロセスのバグに起因するものだ。2FA を有効にしていれば、攻撃者はユーザーのアカウントを乗っ取ることはできない。攻撃者によるパスワード・リセットが可能であっても、2FA にはアクセスはできない。突然、ログインにリダイレクトされるような場合や、リセット・メールが送信される場合には、パスワードをリセットしてほしい」と述べている。

今回のセキュリティ・アップデートは、GitLab 16.5.6/16.6.4/16.7.2 に加えて、16.1.6/16.2.9/16.3.7/16.4.5 にも、バックポートされている。

もう1つの深刻な脆弱性 CVE-2023-5356

もう1つの、深刻度 Critical と評価されている脆弱性 CVE-2023-5356 (CVSS:9.6) は、GitLab Community Edition (CE)/Enterprise Edition (EE) の不正な認証チェックに起因するものだ。広範なバージョンに影響をおよぼす、この脆弱性の悪用に成功した攻撃者は、Slack/Mattermost 統合を悪用して他のユーザーになりすまし、コマンド実行が可能になる。この脆弱性は、HackerOne のバグ報奨金プログラムを通じて、セキュリティ研究者の yvvdwf によって報告された。

その他の脆弱性の修正

GitLab のセキュリティ・アップデートは、上述の2つに加えて、以下の3つの脆弱性にも対処している:

  1. CVE-2023-4812 (CVSS 7.6):マージ・リクエストの CODEOWNERS 承認をバイパスする脆弱性。
  2. CVE-2023-6955 (CVSS 6.6):GitLab Remote Development における、アクセス制御の脆弱性。ワークスペースが異なる root ネームスペースに、誤って紐づけられる可能性がある。
  3. CVE-2023-2030 (CVSS 3.5):コミット署名の検証の抜け穴に起因するもので、署名されたコミットでメタデータの変更を、攻撃者に許してしまう脆弱性。

GitLab ユーザーがすべきこと

このアップデートは、セキュリティ・ハイジーンの重要性を再認識させるものだ。これまで以上に、2FA の有効化/異常なアクティビティへの警戒/ソフトウェアの最新バージョンへの定期的なアップデートなどの実施が重要となっていくだろう。