Apa yang terjadi
mcp-gitlab, server MCP yang mengekspos operasi GitLab (projects, merge requests, issues, pipelines, wiki, releases) ke agent AI, mengandung kerentanan path traversal (CVSS 8.6) dalam penanganan parameter job_id yang memungkinkan penyerang meloloskan diri dari prefix path API yang dimaksudkan dan mengalihkan panggilan GitLab API ke tempat lain.
Mengapa penting
mcp-gitlab adalah server MCP GitLab populer yang digunakan untuk membiarkan agent coding (Claude Code, Cursor, dll.) berinteraksi dengan GitLab. Pengalihan panggilan API yang dikeluarkan dengan kredensial GitLab yang disimpan server dapat mengekspos token GitLab/data sesi ke endpoint yang dikendalikan penyerang atau digunakan untuk memanipulasi data pipeline CI/CD, risiko bermakna mengingat server MCP secara rutin memegang token privileged atas nama agent AI.
Vektor serangan
Penyerang menyuplai nilai job_id yang dirancang (misalnya berisi urutan ../../../user) ke build/index.js, meloloskan diri dari prefix path yang dimaksudkan sehingga permintaan GitLab API yang dikeluarkan oleh server MCP dialihkan ke endpoint arbitrer yang dipengaruhi penyerang alih-alih sumber daya job GitLab yang dimaksudkan.
Sistem yang terdampak
mcp-gitlab (zereight/gitlab-mcp npm package)
Mitigasi
Upgrade ke versi tertambal dari @zereight/mcp-gitlab; validasi/sanitasi segmen path job_id sisi server sebelum membuat path permintaan GitLab API.