← AI agent vulnerabilities

CVE-2026-61559

@zereight/mcp-gitlab

9.6
Severity
Critical
Published
September 15, 2026
Last modified
September 30, 2026

`@zereight/mcp-gitlab` is a Model Context Protocol server for GitLab. Starting in version 0.0.1 and prior to version 2.1.27, when the environment variable `ENABLE_DYNAMIC_API_URL=true` is set, the server reads the `X-GitLab-API-URL` HTTP request header and uses it as the base URL for all outbound GitLab API calls made within that request. The server validates that the value is a well-formed URL (`new URL(dynamicApiUrl)`) but applies no allowlist or hostname restriction. The server then attaches the victim's `Private-Token` to every outbound fetch that uses the redirected URL. Any caller who can reach the HTTP transport can set `X-GitLab-API-URL` to an attacker-controlled host. The next GitLab API call the server makes delivers the victim's token to that host. Version 2.1.27 contains a patch.

CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N

Weakness

References

CVE-2026-61559 on NVD

Listed in

CriticalMCP serversServer-side request forgery

More @zereight/mcp-gitlab CVEs

Sep 15
CVE-2026-615689.6

Versions prior to 2.1.30 expose the Streamable HTTP MCP endpoint without an effective Host or Origin allowlist.

Sep 15
CVE-2026-615609.8

The SSE transport mode (`SSE=true`) exposes all MCP tools without any authentication.