Gemiddeld · 6.2 Node.js & npm GHSA-cv3r-c5h8-f4g5 CVE-2026-61560 GHSA-vmp7-252j-cwp7 CVE-2026-61568
Vier kritieke kwetsbaarheden in @zereight/mcp-gitlab maken ongeauthenticeerde overname van GitLab-accounts mogelijk
Het npm-pakket @zereight/mcp-gitlab, een Model Context Protocol-server voor GitLab, kent vier afzonderlijke advisories met onder meer ongeauthenticeerd lezen van bestanden op afstand, SSRF, DNS-rebinding en meerdere omzeilingen van veiligheidsmaatregelen. Verscheidene problemen stellen ongeauthenticeerde aanvallers in staat GitLab-toegangstokens te stelen. Fixes zijn beschikbaar in de versies 2.1.27 en 2.1.30.
- GitHub Advisory Database database 3w geleden · bekijk ↗
- NVD (NIST) database 1w geleden · bekijk ↗
- GitHub Advisory Database database 3w geleden · bekijk ↗
- NVD (NIST) database 1w geleden · bekijk ↗
- GitHub Advisory Database database 3w geleden · bekijk ↗
- NVD (NIST) database 1w geleden · bekijk ↗
- GitHub Advisory Database database 3w geleden · bekijk ↗
AI-samenvatting
Beveiligingsonderzoekers hebben vier afzonderlijke advisories gepubliceerd over `@zereight/mcp-gitlab`, een npm-pakket dat een Model Context Protocol (MCP)-server voor GitLab implementeert. De problemen variëren van ongeauthenticeerd lezen van willekeurige bestanden dat kan leiden tot volledige overname van een GitLab-account, tot server-side request forgery, DNS-rebinding tegen de lokale MCP-transportlaag, en een reeks omzeilingen van veiligheidsmaatregelen rond read-only modus en projectallowlists. Verscheidene van deze problemen doen zich voor in standaardconfiguraties, waaronder de standaard Docker-deployment. Patches zijn beschikbaar in de versies 2.1.27 en 2.1.30, afhankelijk van de specifieke advisory.
Wat is er gebeurd
Er zijn vier afzonderlijke advisories gepubliceerd voor `@zereight/mcp-gitlab`: - **CVE-2026-61560** (CVSS 9.8): Wanneer SSE-transport is ingeschakeld (`SSE=true`), zijn alle MCP-tools zonder authenticatie toegankelijk. De tool `upload_markdown` kan via een ongefilterde `file_path`-parameter willekeurige bestanden van het lokale bestandssysteem van de server lezen en uploaden naar een GitLab-project, waardoor een ongeauthenticeerde aanvaller die de server via het netwerk kan bereiken `/proc/self/environ` kan uitlezen en het GitLab Personal Access Token van de server kan stelen. Dit is de standaardconfiguratie bij Docker-deployments. - **CVE-2026-61568** (CVSS 9.6): Versies vóór 2.1.30 ontsluiten het Streamable HTTP MCP-eindpunt zonder effectieve Host- of Origin-allowlist, waardoor een kwaadaardige webpagina via DNS-rebinding browserverzoeken kan doorsturen naar de lokale MCP-listener van een slachtoffer, met behoud van door de aanvaller gecontroleerde Host- en Origin-headers. - **CVE-2026-61559** (CVSS 9.6): Wanneer `ENABLE_DYNAMIC_API_URL=true` is ingesteld, leest de server de header `X-GitLab-API-URL` en gebruikt deze als basis-URL voor uitgaande GitLab API-aanroepen, zonder allowlist of restrictie op hostnamen. De server voegt het Private-Token van het slachtoffer toe aan verzoeken die naar de door de aanvaller gecontroleerde host worden gestuurd. - **GHSA-5648-rgj9-v224** (CVSS 8.1): Een reeks omzeilingen van veiligheidsmaatregelen, waaronder een omzeiling van de read-only modus en van de projectallowlist in de tool `execute_graphql`, ongeauthenticeerde toegang tot Streamable HTTP onder bepaalde credential-configuraties, standaard ongeauthenticeerde SSE-toegang, een ongeauthenticeerde denial-of-service door sessie-uitputting, en een prompt-injectierisico doordat CI-joblogs ongefilterd worden doorgegeven.
Technische oorzaak
De advisories beschrijven verschillende onderliggende oorzaken. Bij CVE-2026-61560 ontsluit de SSE-transportmodus standaard MCP-tools zonder authenticatie, en de tool `upload_markdown` filtert de parameter `file_path` niet, waardoor willekeurige lokale bestanden kunnen worden gelezen en geëxfiltreerd naar een GitLab-project. Bij CVE-2026-61568 ontbreekt een effectieve Host/Origin-allowlist op het Streamable HTTP-eindpunt, waardoor het kwetsbaar is voor DNS-rebinding. Bij CVE-2026-61559 controleert de server wel of de header `X-GitLab-API-URL` een geldige URL is, maar past geen allowlist of hostnamebeperking toe, wat SSRF mogelijk maakt waarbij het Private-Token van het slachtoffer wordt meegestuurd naar de omgeleide bestemming. GHSA-5648-rgj9-v224 documenteert meerdere onafhankelijke gebreken: een op reguliere expressies gebaseerde detectie van schrijfoperaties in `execute_graphql` die bepaalde GraphQL-mutaties ten onrechte als read-only classificeert, het ontbreken van handhaving van projectscope in diezelfde tool, authenticatielogica die cookie- en OAuth-gebaseerde opstartmodi overslaat, een SSE-transport dat zonder DNS-rebindingbescherming wordt opgezet, en een tokenvalidatieroutine die alleen lengte en tekenset controleert in plaats van het token bij de bron te verifiëren, wat sessie-uitputtingsaanvallen mogelijk maakt.
Waarom dit belangrijk is
Verscheidene van deze problemen stellen een ongeauthenticeerde aanvaller die de server via het netwerk kan bereiken in staat het GitLab Personal Access Token of Private-Token van de server te bemachtigen, wat kan leiden tot volledige overname van het GitLab-account met de rechten die aan dat token verbonden zijn. Omdat de server is ontworpen om een LLM-agent toegang te geven tot GitLab, zijn de in GHSA-5648-rgj9-v224 beschreven omzeilingen van veiligheidsmaatregelen bijzonder relevant: ze kunnen de read-only modus en projectallowlists ondermijnen waarop beheerders mogelijk vertrouwen als primaire veiligheidsgrens bij het geven van GitLab-toegang aan een AI-agent.
Wie wordt getroffen
Iedereen die `@zereight/mcp-gitlab` gebruikt, kan afhankelijk van de configuratie getroffen zijn. CVE-2026-61560 treft deployments met SSE-transportmodus, inclusief de standaard Docker-deploymentconfiguratie. CVE-2026-61568 treft deployments die het Streamable HTTP MCP-eindpunt blootstellen. CVE-2026-61559 treft deployments waarbij `ENABLE_DYNAMIC_API_URL=true` is ingesteld. De problemen in GHSA-5648-rgj9-v224 treffen deployments die vertrouwen op read-only modus of projectallowlists als veiligheidsmaatregel, deployments die cookie-path- of OAuth-gebaseerde authenticatie gebruiken voor Streamable HTTP, en deployments met de standaard SSE-configuratie.
Getroffen versies
`@zereight/mcp-gitlab`: - CVE-2026-61560: versies vóór 2.1.27 zijn kwetsbaar; opgelost in 2.1.27. - CVE-2026-61568: versies vóór 2.1.30 zijn kwetsbaar; opgelost in 2.1.30. - CVE-2026-61559: versies vanaf 0.0.1 tot vóór 2.1.27 zijn kwetsbaar; opgelost in 2.1.27. - GHSA-5648-rgj9-v224: versies vóór 2.1.30 zijn kwetsbaar; opgelost in 2.1.30. De advisory vermeldt dat de beoordeelde commit overeenkomt met pakketversie 2.1.28, waarin deze gebreken nog aanwezig bleken te zijn.
Fixes en mitigatie
Er zijn patches beschikbaar: versie 2.1.27 verhelpt CVE-2026-61560 en CVE-2026-61559; versie 2.1.30 verhelpt CVE-2026-61568 en de problemen uit GHSA-5648-rgj9-v224. Beheerders wordt aangeraden te upgraden naar versie 2.1.30, aangezien dit de nieuwste van de twee gefixte versies is en de problemen die het aanpakt alle vier advisories dekt. In de beschikbare feiten worden geen specifieke tijdelijke work-arounds naast upgraden beschreven.
Aanbevolen actie
Upgrade `@zereight/mcp-gitlab` zo snel mogelijk naar versie 2.1.30. Controleer de deploymentconfiguratie voor SSE-transport, Streamable HTTP-transport en de instelling `ENABLE_DYNAMIC_API_URL`, en bevestig na de upgrade dat authenticatie wordt afgedwongen voor alle ingeschakelde transportlagen. Als read-only modus of `GITLAB_ALLOWED_PROJECT_IDS` wordt gebruikt als veiligheidsgrens voor een AI-agent, controleer dan aan de hand van de fix van de leverancier of deze maatregelen na de update correct worden afgedwongen, aangezien GHSA-5648-rgj9-v224 beschrijft dat deze maatregelen vóór de fix te omzeilen waren.
PatchBriefing-score
6.2 / 10 · Gemiddeld
Officiële CVSS: 9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Waarom deze score
De patchwire-scores voor deze advisories (variërend van 4,7 tot 6,2) worden voornamelijk bepaald door hoge CVSS-basisscores (8,1 tot 9,8), die wijzen op via het netwerk uitbuitbare kwetsbaarheden met weinig of geen vereiste rechten. De scores worden getemperd door het ontbreken van bevestigde actieve uitbuiting, publiek beschikbare exploitcode, of EPSS-gegevens voor de meeste advisories. CVE-2026-61560 en CVE-2026-61568 kregen een extra bijdrage omdat ze ongeauthenticeerd en op afstand uitbuitbaar zijn zonder gebruikersinteractie (CVE-2026-61560), of met slechts beperkte gebruikersinteractie (CVE-2026-61568). Dit zijn deterministische scores op basis van de genoemde factoren en zijn niet aangepast.
Getroffen versies
- @zereight/mcp-gitlab < 2.1.27
- kwetsbaar
- ≥ 2.1.27
- gepatcht
- @zereight/mcp-gitlab < 2.1.30
- kwetsbaar
- ≥ 2.1.30
- gepatcht
- @zereight/mcp-gitlab >= 0.0.1, < 2.1.27
- kwetsbaar
- ≥ 2.1.27
- gepatcht
- @zereight/mcp-gitlab < 2.1.30
- kwetsbaar
- ≥ 2.1.30
- gepatcht
Gemelde oplossingen
Er zijn patches beschikbaar: versie 2.1.27 verhelpt CVE-2026-61560 en CVE-2026-61559; versie 2.1.30 verhelpt CVE-2026-61568 en de problemen uit GHSA-5648-rgj9-v224. Beheerders wordt aangeraden te upgraden naar versie 2.1.30, aangezien dit de nieuwste van de twee gefixte versies is en de problemen die het aanpakt alle vier advisories dekt. In de beschikbare feiten worden geen specifieke tijdelijke work-arounds naast upgraden beschreven.
Hoe dit rapport is gemaakt
7 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
GitHub Advisory Database database
-
NVD (NIST) database
-
GitHub Advisory Database database
-
NVD (NIST) database
-
GitHub Advisory Database database
-
NVD (NIST) database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail