CVE-2026-44895

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

State
Published
Severity
9.2 Critical
Published
May 26, 2026
Updated
May 27, 2026
Reserved
May 7, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
4.09.2 CriticalCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:NGitHub_M

Weaknesses

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

Affected Products

ProductVersions
mcp-gitlab-serveryoda-digital
  • < 0.6.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.