CVE-2026-44895 PUBLISHED

GitLab MCP Server: SSE transport has no authentication and wildcard CORS, exposing all GitLab tools

Assigner: GitHub_M
Reserved: 07.05.2026 Published: 26.05.2026 Updated: 27.05.2026

GitLab MCP Server lets an AI agent talk directly to GitLab. Prior to 0.6.0, the HTTP transport in src/transport.ts ships with no authentication layer at all and a wildcard Access-Control-Allow-Origin: * on every response. The structural defect is that the SSE server stands up a stateful, mutation-capable RPC endpoint that is backed by the operator's GITLAB_PERSONAL_ACCESS_TOKEN without any inbound credential check, then advertises itself to every cross-origin browser context via the wildcard CORS header. The httpServer.listen(port) call at line 97 also passes no host argument, so the bind defaults to 0.0.0.0 and exposes the auth-less surface on every interface. This vulnerability is fixed in 0.6.0.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
CVSS Score: 9.2

Product Status

Vendor yoda-digital
Product mcp-gitlab-server
Versions
  • Version < 0.6.0 is affected

References

Problem Types

  • CWE-306: Missing Authentication for Critical Function CWE
  • CWE-942: Permissive Cross-domain Policy with Untrusted Domains CWE