Live Exposure Defense: From CVE to Confirmed Exposure in 12 Hours – See more

New CVE Detected

CVE-2026-61560 – Unauthenticated Arbitrary File Read Leading to GitLab Account Takeover – gitlab-mcp

Be the first to know when new zero-days emerge:

Summary

CVE-2026-61560 is a critical path traversal / missing authentication vulnerability (CWE-22) affecting @zereight/mcp-gitlab, a widely used Model Context Protocol (MCP) server that lets AI assistants interact with GitLab. In its default Docker deployment configuration (SSE=true), the server exposes all of its MCP tools over the network without authentication, and its upload_markdown tool allows unsanitized filesystem paths to be read. Combined, these flaws let an unauthenticated network attacker read arbitrary files from the host, steal the server’s GitLab Personal Access Token, and achieve full GitLab account takeover. The issue carries a CVSS v3.1 base score of 9.8 (Critical).

Technical details

  • Root cause 1 – Missing authentication: When the server runs with SSE transport enabled (SSE=true), the /sse and /messages endpoints do not enforce any authentication or authorization checks. Any network-reachable client can open a session and invoke the server’s ~100+ MCP tools using the credentials configured on the server (the GITLAB_PERSONAL_ACCESS_TOKEN).
  • Root cause 2 – Path traversal in upload_markdown: This tool accepts a file_path parameter that is passed directly to a filesystem read call with no sanitization, allowlisting, or sandboxing, allowing reads of arbitrary files on the host.
  • Trigger conditions: The server must be deployed with SSE transport mode enabled and reachable over the network — this is the default configuration for Docker-based deployments of the project.
  • Attack vector: Network, no privileges or user interaction required.
  • Impact: An attacker can connect to the unauthenticated SSE endpoint, enumerate accessible projects, then call upload_markdown with a path such as /proc/self/environ to exfiltrate environment variables (including the GITLAB_PERSONAL_ACCESS_TOKEN). The stolen token grants full API access to the victim’s GitLab account/projects. The same file-read primitive could also be used to access other sensitive host files (e.g., credential files, source code).

Affected software

  • @zereight/mcp-gitlab (also distributed as gitlab-mcp), all versions prior to 2.1.27, when deployed with SSE transport enabled.

Severity

  • CVSS v3.1 Base Score: 9.8 (Critical)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Mitigation and recommended actions

  • Immediate: Upgrade @zereight/mcp-gitlab to version 2.1.27 or later, which adds SSE authentication enforcement and blocks arbitrary remote file paths in upload_markdown.
  • If immediate patching is not possible:
    • Set the SSE_AUTH_TOKEN environment variable to require authentication on the SSE transport.
    • Avoid exposing the SSE//messages endpoints directly to untrusted networks; restrict access via network segmentation, firewall rules, or a reverse proxy requiring authentication.
    • Rotate the GITLAB_PERSONAL_ACCESS_TOKEN used by the MCP server, and scope it to the minimum required permissions.
    • Review GitLab audit logs for unexpected API activity originating from the token associated with the MCP server.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge