<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Zereight - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/zereight/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 16 Sep 2026 01:05:13 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/zereight/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Multiple Safety-Control Bypasses in @zereight/mcp-gitlab</title><link>https://feed.craftedsignal.io/briefs/2026-09-mcp-gitlab-bypass/</link><pubDate>Wed, 16 Sep 2026 01:05:13 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-mcp-gitlab-bypass/</guid><description>Multiple vulnerabilities in the @zereight/mcp-gitlab package allow attackers to bypass read-only mode, exfiltrate data, perform unauthorized GitLab operations, and trigger a denial-of-service via unauthenticated session exhaustion.</description><content:encoded><![CDATA[<p>The @zereight/mcp-gitlab package (version &lt; 2.1.30) contains multiple high-severity security defects that defeat the tool's intended safety controls. The package is designed to expose GitLab functionality to LLM agents using read-only mode, project allow-lists, and transport authentication. A source review identified five critical flaws: a GraphQL query parser bypass that allows write operations in read-only mode and ignores project allow-lists; flawed authentication gates that allow unauthenticated access when specific flags are enabled; missing Origin/Host validation making the service susceptible to DNS rebinding; an unauthenticated session-exhaustion denial-of-service (DoS) vulnerability; and the verbatim exposure of CI job traces to LLMs. These vulnerabilities allow malicious clients or prompt-injected LLM agents to execute arbitrary write commands on GitLab, impersonate the server's session, or disrupt service availability.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a target running a vulnerable instance of @zereight/mcp-gitlab on a local or accessible network.</li>
<li>The attacker exploits missing DNS rebinding protections (F3) by hosting a malicious website that performs a DNS rebind to access the local MCP service.</li>
<li>The attacker bypasses authentication (F2) due to the flawed authentication gate logic, allowing interaction with the MCP service without valid credentials.</li>
<li>The attacker sends a crafted GraphQL request through the <code>execute_graphql</code> tool.</li>
<li>The attacker prepends a comma to the GraphQL document (e.g., <code>,mutation{...}</code>) to bypass the flawed <code>graphqlQueryContainsWriteOperation</code> check (F1).</li>
<li>The service executes the mutation against the connected GitLab instance, ignoring intended read-only and project-scope restrictions.</li>
<li>The attacker repeats unauthorized <code>initialize</code> requests with garbage tokens to exhaust session slots, resulting in a DoS (F4).</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for arbitrary unauthorized write operations on GitLab projects, potentially leading to data manipulation or destruction. By leveraging the server's live session, an attacker can access sensitive information, perform repository changes, or interact with CI/CD pipelines outside the intended scope. The unauthenticated DoS vulnerability enables service disruption with minimal request volume, effectively disabling the LLM agent integration.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized actions for security teams:</p>
<ul>
<li>Immediately upgrade @zereight/mcp-gitlab to version 2.1.30 or later to patch the identified safety control bypasses and DoS conditions.</li>
<li>Implement network-level access controls to restrict access to the MCP server to authorized users or service identities, mitigating the risks posed by the unauthenticated transport and DNS rebinding vulnerabilities (F2/F3).</li>
<li>Review and harden GitLab project-level permissions to ensure that the token used by the MCP server follows the principle of least privilege, limiting the blast radius of any successful GraphQL injection (F1).</li>
<li>Configure the MCP service to use a strictly defined SSE_AUTH_TOKEN and disable remote access unless explicitly required and secured by robust reverse-proxy authentication (F3).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mcp</category><category>gitlab</category><category>llm-security</category><category>supply-chain</category></item><item><title>SSRF Vulnerability in mcp-gitlab Enables GitLab Credential Theft</title><link>https://feed.craftedsignal.io/briefs/2026-09-mcp-gitlab-ssrf/</link><pubDate>Wed, 16 Sep 2026 01:04:47 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-mcp-gitlab-ssrf/</guid><description>The mcp-gitlab server is vulnerable to Server-Side Request Forgery (SSRF) when ENABLE_DYNAMIC_API_URL is enabled, allowing attackers to force the server to forward victim GitLab tokens to an arbitrary host.</description><content:encoded><![CDATA[<p>The npm package @zereight/mcp-gitlab contains a critical SSRF vulnerability (CVE-2026-61559) in all versions through commit 74a8c83. When the configuration variable <code>ENABLE_DYNAMIC_API_URL</code> is set to <code>true</code>, the application blindly trusts the <code>X-GitLab-API-URL</code> HTTP header provided by a requester. The server validates that the header is a well-formed URL but fails to perform any allowlist check or hostname restriction against the destination.</p>
<p>As a result, an attacker can supply an arbitrary URL via this header. The server subsequently uses this URL for downstream GitLab API calls, attaching the victim's <code>Private-Token</code> header to the request before sending it to the attacker-controlled server. This flaw allows attackers to steal credentials and gain full authenticated access to the victim's GitLab account, including CI/CD variables, source code, and project management data. The vulnerability is reachable in multi-user deployment scenarios where <code>REMOTE_AUTHORIZATION=true</code> is enabled.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The target is running <code>mcp-gitlab</code> with <code>ENABLE_DYNAMIC_API_URL=true</code> and <code>REMOTE_AUTHORIZATION=true</code>.</li>
<li>The attacker initializes a listener on an external server capable of capturing HTTP headers.</li>
<li>The attacker crafts a malicious request to the MCP server's tool execution endpoint.</li>
<li>The attacker injects the <code>X-GitLab-API-URL</code> header pointing to their listener URL.</li>
<li>The MCP server process parses the malicious header and updates the API base URL for the current session.</li>
<li>The server initiates a legitimate GitLab API call (e.g., to list issues) using the attacker-supplied URL.</li>
<li>The server attaches the victim's <code>Private-Token</code> to the request, facilitating the SSRF-based exfiltration.</li>
<li>The attacker receives the victim's token via their listener and proceeds to exfiltrate or manipulate GitLab resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in full account compromise at the victim's permission level. Attackers can gain unauthorized access to all repositories, issues, and merge requests, as well as read and modify CI/CD pipelines, secrets, and environment variables. This represents a complete breach of the GitLab security domain for the affected user.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>If using <code>mcp-gitlab</code> in a multi-user environment, disable <code>ENABLE_DYNAMIC_API_URL</code> immediately until a patched version is available.</li>
<li>Implement an allowlist for the <code>X-GitLab-API-URL</code> header by verifying the hostname against a hardcoded list of trusted GitLab instances before the request is processed.</li>
<li>Search web access logs for any incoming requests containing the <code>X-GitLab-API-URL</code> header to identify potential exploitation attempts.</li>
<li>Rotate all GitLab Personal Access Tokens and CI/CD job tokens for users who interacted with an affected instance of the MCP server.</li>
</ol>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>dns-rebinding</category><category>mcp</category><category>gitlab</category><category>cve-2026-61568</category><category>vulnerability</category><category>rce</category><category>exfiltration</category></item></channel></rss>