GitLab Email Feature Vulnerability Lets Attackers Push Code Into Private Repositories
2026/09/23 CyberSecurityNews — GitLab の「Email work item to this project」機能では、非公開のメール・アドレスの漏洩からリポジトリ侵害につながる可能性があることを、Aikido Security の研究者 Joe Leon が 2026年9月23日に調査結果として公開した。このアドレスには、長期間有効な glimt- 受信メールトークンが含まれている。GitLab の説明によると、このトークンに有効期限はなく、秘密として保持する必要がある。また、GitLab のドキュメントでは、このトークンを所持する人物が、トークンの所有者として Issue/Merge Request を作成できることが確認されている。

この問題による影響は、Issue に対するスパム行為だけに留まらず、インターフェイスにはプロジェクト固有のアドレスが表示される。その一方で、Aikido は、異なるプロジェクト向けに生成されたアドレスにも、同一のアカウント・レベルのトークンが埋め込まれていることを発見した。

報告により判明したのは、-issue サフィックスの -merge-request への置き換え/Git パッチの添付/メールの件名でのソース・ブランチの指定などを攻撃者に許す欠陥である。それにより GitLab は、被害者の権限を用いるかたちで、対象ブランチへのパッチの適用や、ブランチ自体の作成を実行してしまう。

そのため、.gitlab-ci.yml を変更する悪意のパッチにより、攻撃者が制御する CI/CD コードが被害者のプロジェクト内で実行され、侵害されたユーザーのロール/パイプライン構成に応じて、ソースコード/CI/CD 変数/ジョブトークンなどのシークレットが漏洩する恐れがある。
Maintainer のアドレスが漏洩した場合には、main を含む保護ブランチへのコミットまで許可される可能性があるが、その操作は被害者の ID で実行されたように記録される。一方、Guest のトークンで可能な操作は、対象となるユーザーに付与された権限の範囲に制限される。
Aikido Security が公開した調査結果によると、このメール経由の処理は、ネットワーク制御に関する前提にも影響を及ぼす。それを確認するため、研究者は無関係な特定の IP アドレスだけを許可するプライベート・プロジェクトを設定し、GitLab はブラウザからのアクセスと Git クローンをブロックしたが、メールで送信されたパッチは受け入れ、main にコミットされたという。現時点で GitLab は、受信メールが IP アドレス制限の対象にならないことをドキュメントに明記しており、このワークフローでは許可リストが完全なセキュリティ境界にはならない。
この問題の悪用に際しては、非公開のメール・アドレスに加えて、プロジェクトのパス/プロジェクト ID といった、標的プロジェクトを特定するための十分なルーティング情報が必要となる。公開リポジトリでは、これらの情報が公開されているが、プライベート・プロジェクトを攻撃する場合には、別の情報漏洩が必要となる。
現時点の GitLab は、トークン所有者のアカウントにおいて、検証済みのメール・アドレスからメッセージを送信することを要求していないため、送信者のなりすましは不要である。そのため GitLab は、送信元の検証を検討するための Issue を作成している。また、GitLab は、報告された動作を従来型の脆弱性ではなく、設計どおりの挙動として扱ったが、トークンで可能な操作を明確化する変更をマージした。
更新されたインターフェイス/ドキュメントでは、Issue/Merge Request の両方についてトークンの扱いを明記し、トークンを秘密に保持する必要性/リセット手順を強調するとともに、IP アドレス制限の例外について説明している。ただし、基盤となるメール機能自体は引き続き利用できる。
防御担当者は、リポジトリ/ドキュメント/チケット/ログ/公開ページを直ちに検索し、glimt- アドレスやカスタマイズされた受信メールトークンの形式が含まれていないことを確認する必要がある。漏洩が疑われる場合には、Personal Access Token の設定から受信メール・トークンをリセットする必要があり、これにより、関連付けられたプロジェクトのメール・アドレスが無効化される。
また、組織では、影響を受けるユーザーの権限/保護ブランチのルール/パイプライン/変数/コミット/監査イベントを確認することが推奨される。すべてのプロジェクト用メール・アドレスを、単なる連絡先ではなく、アカウントへのアクセスにつながる認証情報として扱う必要がある。
GitLabの「Email work item to this project」機能において使用される glimt- 受信メールトークン の仕様に起因するセキュリティ上の欠陥が判明しました。開発支援ツールであるGitLabが提供する本機能は、非公開であるべきメールアドレスが漏洩した場合に、悪意ある第三者による不正なコード挿入やCI/CDパイプラインを経由した重要情報の漏洩を引き起こす恐れがあります。さらにネットワークのIPアドレス制限を迂回してコミットが受け入れられる点にも注意が必要です。対応策として、リポジトリやログ内に該当アドレスが露呈していないかの確認/漏洩時のトークン再発行/影響を受けた権限や監査ログの定期的な点検が求められます。
You must be logged in to post a comment.