CVE-2026-61559: Critical Server-Side Request Forgery and Token Leakage in @zereight/mcp-gitlab
Vulnerability ID: CVE-2026-61559
CVSS Score: 9.6
Published: 2026-09-15
A critical Server-Side Request Forgery (SSRF) vulnerability in @zereight/mcp-gitlab allows attackers to leak sensitive GitLab Private-Tokens by supplying an arbitrary external hostname via the X-GitLab-API-URL header when dynamic routing is enabled.
TL;DR
Unauthenticated remote attackers can steal sensitive GitLab Private-Tokens via a Server-Side Request Forgery (SSRF) flaw in gitlab-mcp by injecting a malicious destination host in the X-GitLab-API-URL header.
⚠️ Exploit Status: POC
Technical Details
- CWE ID: CWE-918
- Attack Vector: Network (AV:N)
- CVSS Score: 9.6 (Critical)
- EPSS Score: Not indexed (Freshly published)
- Impact: Credential Theft & GitLab Compromise
- Exploit Status: Proof of Concept (PoC) available
- CISA KEV Status: Not Listed
Affected Systems
- @zereight/mcp-gitlab
- gitlab-mcp
-
@zereight/mcp-gitlab: >= 0.0.1, < 2.1.27 (Fixed in:
2.1.27)
Code Analysis
Commit: 6ffb4cc
Add dynamic API URL domain validation via resolveTrustedGitLabApiUrl
Mitigation Strategies
- Disable dynamic routing by setting ENABLE_DYNAMIC_API_URL=false if multi-tenant or multi-instance routing is not required.
- Configure the GITLAB_ALLOWED_HOSTS environment variable to strict trust limits when dynamic API URLs are mandatory.
- Upgrade @zereight/mcp-gitlab to version 2.1.27 or higher.
Remediation Steps:
- Run 'npm install @zereight/mcp-gitlab@latest' to update the package to version 2.1.27 or later.
- If dynamic API URL routing is active, export the 'GITLAB_ALLOWED_HOSTS' environment variable containing your trusted GitLab domains.
- Verify the configuration by executing a request with an unlisted domain in 'X-GitLab-API-URL' and confirming it receives an HTTP 400 Bad Request error.
References
- GitHub Security Advisory GHSA-2h44-8472-frjj
- Pull Request #625: Add domain allowlist to Dynamic API URL configuration
- Fix Commit 6ffb4cc
- Release v2.1.27
- CVE-2026-61559 Record
Read the full report for CVE-2026-61559 on our website for more details including interactive diagrams and full exploit analysis.
Top comments (0)