CVE-2026-61560: @zereight/mcp-gitlab's unauthenticated arbitrary file read via `upload_markdown` enables PAT exfiltration and full account takeover

Published Sep 15, 2026
·
Updated

@zereight/mcp-gitlab is a Model Context Protocol server for GitLab. Prior to version 2.1.27, the SSE transport mode (SSE=true) exposes all MCP tools without any authentication. The uploadmarkdown tool reads arbitrary files from the server's local filesystem via an unsanitized filepath parameter and uploads them to a GitLab project. Combined, any unauthenticated network-reachable attacker can read /proc/self/environ to steal the server's GITLABPERSONALACCESSTOKEN and achieve full GitLab account takeover. This is the default configuration for Docker deployments. Version 2.1.27 contains a patch.

Affected Software

1 affected component
npm/@zereight/mcp-gitlab<2.1.27

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade @zereight/mcp-gitlab to a version that resolves this vulnerability.

    Fixed in 2.1.27
  2. Configuration

    Disable SSE transport mode (SSE=true) to avoid exposing all MCP tools without authentication prior to 2.1.27, which is the described unsafe default for Docker deployments.

    @zereight/mcp-gitlab (SSE transport mode) SSE = false

Event History

Sep 15, 2026
CVE Published
via MITRE·09:09 PM
Data Sourced
via MITRE·09:09 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Deployments running versions before 2.1.27 with SSE transport enabled (SSE=true) are exposed if they are network reachable. Docker deployments use this configuration by default.

2

What does an attacker need to exploit this issue?

An attacker needs only network access to the unauthenticated SSE service. No GitLab credentials or prior access are required.

3

What is the likely impact if exploitation succeeds?

An attacker can use upload_markdown to read local server files, including /proc/self/environ, and extract the GITLAB_PERSONAL_ACCESS_TOKEN. The disclosed token can enable full takeover of the associated GitLab account.

4

What should be done if an immediate upgrade is not possible?

Restrict network access to the SSE service so unauthenticated attackers cannot reach it, and avoid enabling SSE=true where possible. Treat the configured GitLab personal access token as potentially exposed and rotate it.

5

How can I remediate the vulnerability?

Upgrade @zereight/mcp-gitlab to version 2.1.27, which contains the patch.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203