何が起きたか
GitLabの操作(プロジェクト、マージリクエスト、イシュー、パイプライン、wiki、リリース)をAIエージェントに公開するMCPサーバーのmcp-gitlabには、job_idパラメータ処理のパストラバーサル脆弱性(CVSS 8.6)が含まれており、攻撃者が意図されたAPIパスプレフィックスから逃れて、GitLab APIコールを他の場所にリダイレクトできます。
なぜ重要か
mcp-gitlabは、コーディングエージェント(Claude Code、Cursorなど)がGitLabと対話できるようにするための一般的なGitLab MCPサーバーです。サーバーの保存されたGitLab認証情報で発行されたAPIコールをリダイレクトすると、GitLabトークン/セッションデータが攻撃者制御のエンドポイントに漏洩する可能性があるか、CI/CDパイプラインデータを操作するために使用される可能性があります。これは、MCPサーバーがAIエージェントに代わって特権トークンを定期的に保持することを考えると、有意な危険です。
攻撃経路
攻撃者が細工されたjob_id値(例:../../../userシーケンスを含む)をbuild/index.jsに供給して、意図されたパスプレフィックスから逃れるため、MCPサーバーによって発行されたGitLab APIリクエストが、意図されたGitLabジョブリソースではなく、任意の攻撃者が影響を受けるエンドポイントにリダイレクトされます。
影響を受けるシステム
mcp-gitlab(zereight/gitlab-mcp npmパッケージ)
緩和策
@zereight/mcp-gitlabのパッチ済みバージョンにアップグレードします。job_idパスセグメントをサーバー側で検証/サニタイズしてから、GitLab APIリクエストパスを構築します。