CVE-2026-61560: Drei kritische Schwachstellen in GitLab-MCP
Dieser Text wurde mit künstlicher Intelligenz (KI) erstellt.Für das npm-Paket @zereight/mcp-gitlab wurden am 15. September 2026 drei kritische Schwachstellen veröffentlicht: CVE-2026-61560, CVE-2026-61568 und CVE-2026-61559. Das Paket stellt einen Model-Context-Protocol-Server für GitLab bereit und kann über SSE oder Streamable HTTP betrieben werden. Die Schwachstellen CVE-2026-61560 und CVE-2026-61559 wurden von Pluto Security entdeckt und koordiniert offengelegt.
Die Advisories betreffen ungeschützte MCP-Funktionen, die Weitergabe von GitLab-Tokens über umgeleitete API-Aufrufe sowie fehlende wirksame Prüfungen von Host– und Origin-Headern. Ein Upgrade auf Version 2.1.30 oder höher behebt alle drei veröffentlichten CVEs.
CVE-2026-61560: Unauthentifizierter SSE-Transport und Dateizugriff
Laut dem GitHub Security Advisory zu CVE-2026-61560 (GHSA-cv3r-c5h8-f4g5) betrifft die Schwachstelle (CVSS 9.8, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) Versionen vor 2.1.27. Im SSE-Modus mit SSE=true waren alle MCP-Werkzeuge ohne Authentifizierung erreichbar.
Zusätzlich verarbeitet das Werkzeug upload_markdown einen unzureichend bereinigten Parameter file_path. Dadurch konnte das Werkzeug beliebige lokale Dateien vom Dateisystem des Servers lesen und in ein GitLab-Projekt hochladen. Das Advisory nennt /proc/self/environ als möglichen Zielpfad.
Befindet sich dort ein GITLAB_PERSONAL_ACCESS_TOKEN, kann ein nicht authentifizierter, über das Netzwerk erreichbarer Angreifer den Token auslesen. Das Advisory beschreibt als mögliche Folge die Übernahme des zugehörigen GitLab-Kontos.
Für Docker-Deployments ist dieser Befund besonders relevant: Der SSE-Modus ist dort laut Advisory standardmäßig aktiviert. Version 2.1.27 enthält einen Patch für CVE-2026-61560.
CVE-2026-61559: Token-Abfluss über dynamische API-Ziele
CVE-2026-61559 (GHSA-2h44-8472-frjj) erreicht einen CVSS-Score von 9.6 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N) und betrifft Versionen ab 0.0.1 und vor 2.1.27, wenn ENABLE_DYNAMIC_API_URL=true gesetzt ist. Der Server übernimmt in dieser Konfiguration den HTTP-Header X-GitLab-API-URL als Basisadresse für GitLab-API-Aufrufe innerhalb der jeweiligen Anfrage.
Die Adresse wird auf ein gültiges URL-Format geprüft, jedoch ohne Allowlist oder Einschränkung auf bestimmte Hostnamen. Der Server fügt seinen Private-Token den ausgehenden API-Anfragen hinzu. Ein Aufrufer mit Zugang zum HTTP-Transport kann dadurch eine kontrollierte Zieladresse übergeben; bei einem folgenden GitLab-API-Aufruf kann der Token an diese Adresse übertragen werden.
Version 2.1.27 enthält einen Patch für CVE-2026-61559. Bis das Update eingespielt ist, sollte ENABLE_DYNAMIC_API_URL=true deaktiviert bleiben, sofern die Funktion nicht benötigt wird.
CVE-2026-61568: DNS-Rebinding gegen lokale MCP-Listener
CVE-2026-61568 (GHSA-vmp7-252j-cwp7) erreicht einen CVSS-Score von 9.6 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H) und betrifft Versionen vor 2.1.30. Die Schwachstelle liegt im Streamable-HTTP-Transport. Laut dem GitHub Security Advisory fehlte eine wirksame Allowlist für Host– und Origin-Header.
Eine bösartige Webseite kann bei einem DNS-Rebinding-Angriff Browser-Anfragen an einen lokalen MCP-Listener des Opfers leiten und dabei angreiferkontrollierte Host– und Origin-Werte beibehalten. Der betroffene Server akzeptierte diese Header und erreichte den MCP-Initialisierungspfad.
Dieser Angriffspfad betrifft insbesondere lokal erreichbare MCP-Dienste. Version 2.1.30 enthält einen Patch für CVE-2026-61568.
Maßnahmen für betroffene Deployments
Die bereitgestellten Empfehlungen konzentrieren sich auf Patch-Management, Zugriffsbeschränkung und den Schutz verwendeter GitLab-Tokens:
@zereight/mcp-gitlab auf Version 2.1.30 oder höher aktualisieren. Diese Version adressiert alle drei veröffentlichten CVEs.
SSE deaktivieren oder absichern, wenn ein Upgrade noch nicht erfolgt ist.
ENABLE_DYNAMIC_API_URL=true deaktivieren, sofern diese Konfiguration nicht zwingend erforderlich ist.
GITLAB_PERSONAL_ACCESS_TOKEN rotieren, wenn der Dienst ohne Authentifizierung erreichbar war.
Netzwerkzugriffe auf vertrauenswürdige Clients begrenzen, etwa über Firewall-Regeln oder eine lokale Bindung des Dienstes.
Docker-Deployments priorisiert prüfen und patchen, da der SSE-Modus dort als Standardkonfiguration aktiviert ist.
MCP-Server hinter einer Authentifizierungsschicht betreiben.
Die Patch-Prüfung sollte technische Betriebsparameter einbeziehen: aktiver Transportmodus, Netzwerkerreichbarkeit, gesetzte Umgebungsvariablen und verwendete GitLab-Tokens. Die installierte Paketversion allein zeigt nicht, ob ein Dienst per SSE erreichbar ist oder ob ENABLE_DYNAMIC_API_URL=true aktiv gesetzt wurde.
Organisationen in Deutschland und Österreich, die MCP-basierte CI/CD-Dienste im Rahmen von NIS-2-pflichtigen Prozessen betreiben, sollten prüfen, ob ein kompromittierter GitLab-Token als sicherheitsrelevanter Vorfall meldepflichtig ist. Nach Art. 33 DSGVO besteht bei einer Verletzung des Schutzes personenbezogener Daten eine 72-Stunden-Meldepflicht gegenüber der zuständigen Aufsichtsbehörde. Für Betreiber in der Schweiz gilt das revidierte Informationssicherheitsgesetz (ISG); meldepflichtige Vorfälle sind dort an das Bundesamt für Cybersicherheit (BACS) zu richten.
Sichtbarkeit für exponierte MCP-Dienste
Der Fall ist für External Attack Surface Management relevant, weil @zereight/mcp-gitlab als HTTP-Dienst mit SSE- und Streamable-HTTP-Transport betrieben werden kann. Solche Dienste können unter Unternehmensdomains oder in zugehörigen IT-Umgebungen erreichbar sein — auch dann, wenn sie nicht zentral inventarisiert wurden.
LocateRisk kann im EASM-Kontext die Sicht auf extern erreichbare Dienste, unerwartete HTTP-Endpunkte und verwaiste CI-Infrastruktur unterstützen. Diese Sichtbarkeit ersetzt keine Prüfung der konkreten Paketversion, der aktiven Transportkonfiguration oder der Berechtigungen eines GitLab-Tokens.
Ergänzend unterstützt LocateRisks Cyber Vendor Risk Management dabei, das Sicherheitsniveau von Drittanbietern kontinuierlich zu beobachten und sicherheitsrelevante Veränderungen frühzeitig zu erkennen. Bei npm-Abhängigkeiten und betriebenen MCP-Diensten lassen sich damit technische Erreichbarkeit und Abhängigkeitsrisiken in getrennten Prüfpfaden betrachten.
Bin ich betroffen?
Betroffen ist @zereight/mcp-gitlab in den oben genannten Versionen; behoben wurde die Schwachstelle in 2.1.27, 2.1.30. Wer wissen will, ob @zereight/mcp-gitlab in der eigenen extern erreichbaren Infrastruktur überhaupt sichtbar ist, kann den CVE-Quick-Check am Ende dieses Artikels nutzen: Er zeigt exponierte Systeme und die von außen erkennbare Software.
Die konkret installierte Version lässt sich von außen nicht in jedem Fall bestimmen — ausschlaggebend ist der Abgleich mit dem Hersteller-Advisory.
@zereight/mcp-gitlab ist ein npm-Paket, das einen Model-Context-Protocol-Server (MCP) für GitLab bereitstellt. Es ermöglicht die Interaktion mit GitLab-Projekten über SSE- oder Streamable-HTTP-Transport und wird unter anderem in Docker-Umgebungen eingesetzt, wo der SSE-Modus standardmäßig aktiviert ist.
CVE-2026-61560 und CVE-2026-61559 betreffen alle Versionen vor 2.1.27; CVE-2026-61568 betrifft alle Versionen vor 2.1.30. Ein Upgrade auf Version 2.1.30 oder höher behebt alle drei Schwachstellen in einem Schritt. Bis das Update eingespielt ist, sollten SSE und ENABLE_DYNAMIC_API_URL=true deaktiviert sowie verwendete GITLAB_PERSONAL_ACCESS_TOKEN-Werte rotiert werden.
CVE-2026-61568 (DNS-Rebinding) betrifft den Streamable-HTTP-Transport und ist unabhängig vom SSE-Modus. CVE-2026-61559 greift, wenn ENABLE_DYNAMIC_API_URL=true gesetzt ist. Ein Deployment ist daher auch ohne aktiviertes SSE potenziell angreifbar, sofern eine der anderen Konfigurationen vorliegt und die jeweilige Version nicht gepatcht ist.
Stand: 16.09.2026. Dieser Beitrag dient allgemeinen Informationszwecken und ist keine Rechts-, Sicherheits- oder Handlungsberatung im Einzelfall. Sicherheitslage und Patch-Verfügbarkeit können sich seit der Veröffentlichung geändert haben; maßgeblich ist stets das verlinkte Hersteller-Advisory. Trotz sorgfältiger Recherche übernehmen wir keine Gewähr für Aktualität, Richtigkeit und Vollständigkeit.
CVE Quick Check
Prüfen Sie in wenigen Minuten, ob zu einer aktuellen CVE Hinweise auf Ihrer extern sichtbaren Angriffsfläche erkennbar sind.
Grobe Einschätzung in wenigen Minuten per E-Mail.
Details im kostenlosen Gespräch mit einem LocateRisk Consultant.
Das erhalten Sie per E-Mail
UnternehmenIhre Firma GmbH
Geprüfte CVECVE-2026-61560
Passive Bewertung
Hinweise zur CVEgefunden oder nicht gefunden
Mehr erfahren, Demo buchen oder einfach mal kurz austauschen? Wir freuen uns!
We use cookies to optimize our website and our service.
Functional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistics
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.