Database/AI/ML frameworks & serving
GitLab MCP server: attacker-supplied API URL header exfiltrates the configured GitLab token
Impact
With ENABLE_DYNAMIC_API_URL=true, the server takes the base URL for outbound GitLab API calls from the X-GitLab-API-URL request header, checks only that it parses as a URL, and then attaches the configured Private-Token to every fetch against it. Any caller who can reach the HTTP transport redirects the next API call to a host they control and receives the token. That token is usually a long-lived GitLab PAT with repository write access, so the payoff is the CI/CD path into the fleet: source, pipeline definitions, and anything the pipelines can deploy. Agent tooling like this often runs unattended on build or inference hosts with broader network reach than the person who configured it assumed.
Who can reach it
Anyone who can send HTTP requests to the MCP server's listener - low privilege, no GitLab credentials of their own needed. Only affects deployments that have opted into ENABLE_DYNAMIC_API_URL=true.
What to do
Upgrade to @zereight/mcp-gitlab 2.1.27 or later and restart the MCP server process. If you cannot upgrade immediately, unset ENABLE_DYNAMIC_API_URL, which removes the header-driven path entirely. Treat any token that was configured on an exposed instance as compromised and rotate it in GitLab.
References
Related entries
- GitLab MCP server: DNS rebinding reaches the Streamable HTTP endpoint from a web pageCVE-2026-61568 · @zereight/mcp-gitlab MCP server (Streamable HTTP endpoint, Host/Origin validation)Critical
- Gradio: Remotely triggerable local file include via a JSON value in an API requestCVE-2024-0964 · GradioCritical
- Ray (dashboard job submission API, browser-origin guard): Ray's only defense against browser-driven job submission wasCVE-2025-62593 · Ray (dashboard job submission API, browser-origin guard)Critical
- Flowise: SQLite Record Manager config override gives an authenticated user root code execution in the containerCVE-2026-69259 · Flowise SQLite Record Manager node (additionalConfig database path override)Critical
- Flowise: custom-function sandbox escape via puppeteer.launch gives command execution as the Flowise userCVE-2026-73483 · Flowise (/api/v1/node-custom-function, vm2/@flowiseai/nodevm sandbox)Critical
- TensorFlow / Keras: Arbitrary code execution via unsafe YAML deserialization of model configCVE-2021-37678 · TensorFlow / KerasCritical
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.