# CVE-2026-61568: @zereight/mcp-gitlab DNS rebinding in Streamable HTTP transport

Source: https://junglewise.ai/threats/cve-2026-61568-zereight-mcp-gitlab-dns-rebinding-in-streamable-http-transport  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-15. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-61568 · Severity: critical · CVSS 9.6 · Published 2026-09-15

@zereight/mcp-gitlab is a Model Context Protocol server that integrates with GitLab APIs and exposes a local HTTP endpoint for clients. An attacker can use DNS rebinding to route a victim's browser to the local MCP listener while spoofing the Host and Origin headers, bypassing the server's assumption that localhost binding provides sufficient isolation. This allows the attacker's web page to initialize MCP sessions and, when a GitLab token is present, list tools and execute GitLab API calls to retrieve sensitive project data such as CI/CD variables.

Technologies: [@zereight/mcp-gitlab (npm)](https://junglewise.ai/threats/technologies/zereight-mcp-gitlab), [Zereight Mcp-Gitlab](https://junglewise.ai/threats/technologies/mcp-gitlab). Vendors: [npm](https://junglewise.ai/threats/vendors/npm), [Zereight](https://junglewise.ai/threats/vendors/zereight).

## Quick answers

**Is CVE-2026-61568 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-61568 being exploited in the wild.

**How severe is CVE-2026-61568?** Critical severity, with a CVSS score of 9.6, published 15 September 2026.

**Which products and versions are affected?** @zereight/mcp-gitlab (npm) < 2.1.30, SEMVER:introduced=0,fixed=2.1.30; Zereight Mcp-Gitlab < 2.1.30.

**Is there a fix for CVE-2026-61568?** Yes. @zereight/mcp-gitlab (npm): upgrade to 2.1.30 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-61568 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-61568?** Check whether you run @zereight/mcp-gitlab (npm) or Zereight Mcp-Gitlab at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @zereight/mcp-gitlab (npm): upgrade to 2.1.30 or later

  ```sh
  npm install @zereight/mcp-gitlab@2.1.30
  ```


## Technical details

The vulnerability is a DNS rebinding attack (CWE-350) on a local HTTP service. The MCP server binds to 127.0.0.1 by default and creates a StreamableHTTPServerTransport without enabling the TypeScript SDK's built-in DNS-rebinding protections (enableDnsRebindingProtection, allowedHosts, allowedOrigins). Express middleware to validate Host and Origin headers is also absent. An attacker can craft a malicious web page that triggers the victim's browser to make requests to http://127.0.0.1:8082/mcp; via DNS rebinding, the attacker controls the Host and Origin headers sent by the browser, bypassing the localhost boundary. The server accepts these forged headers and processes MCP initialize requests, tool discovery, and GitLab API calls. When REMOTE_AUTHORIZATION=true (a documented deployment mode), token validation blocks unauthenticated tool calls, but authentication failures do not prevent the HTTP boundary violation. If a token is present in browser-suppliable headers or in a reused session, the attacker can list tools and execute API calls to exfiltrate CI/CD variables and other sensitive project data. The proof-of-concept demonstrates successful token forwarding to the GitLab API backend.

## Affected products

- zereight @zereight/mcp-gitlab < 2.1.30

## Identifiers

- CVE-2026-61568
- GHSA-vmp7-252j-cwp7

## Timeline

- 2026-07-03: disclosed
- 2026-07-03: patched: Version 2.1.30 patches the vulnerability
- 2026-09-15: advisory: GitHub Advisory GHSA-vmp7-252j-cwp7 published

## References

- [https://api.github.com/users/avishaigonen-pluto](https://api.github.com/users/avishaigonen-pluto)
- [https://github.com/avishaigonen-pluto](https://github.com/avishaigonen-pluto)
- [https://api.github.com/users/avishaigonen-pluto/gists%7B/gist_id%7D](https://api.github.com/users/avishaigonen-pluto/gists%7B/gist_id%7D)
- [https://api.github.com/users/avishaigonen-pluto/repos](https://api.github.com/users/avishaigonen-pluto/repos)
- [https://avatars.githubusercontent.com/u/290662811?v=4](https://avatars.githubusercontent.com/u/290662811?v=4)
- [https://api.github.com/users/avishaigonen-pluto/events%7B/privacy%7D](https://api.github.com/users/avishaigonen-pluto/events%7B/privacy%7D)

## Related threats

- [@zereight/mcp-gitlab unauthenticated arbitrary file read via upload_markdown](https://junglewise.ai/threats/cve-2026-61560-zereight-mcp-gitlab-unauthenticated-arbitrary-file-read-via)
- [zereight mcp-gitlab server-side request forgery in X-GitLab-API-URL](https://junglewise.ai/threats/cve-2026-61559-zereight-mcp-gitlab-server-side-request-forgery-in-dynamic-api)
- [@zereight/mcp-gitlab multiple safety-control bypasses](https://junglewise.ai/threats/zereight-mcp-gitlab-multiple-safety-control-bypasses-fcdfc95d)
- [zereight mcp-gitlab path traversal in job_id and pipeline_id](https://junglewise.ai/threats/cve-2026-61462-zereight-mcp-gitlab-path-traversal-in-job-id-and-pipeline-id)
