Katalog CVE

CVE-2026-61559

KrytyczneCVSS 9.6
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Serwer MCP @zereight/mcp-gitlab w wersjach od 0.0.1 do 2.1.26, przy włączonej zmiennej środowiskowej ENABLE_DYNAMIC_API_URL=true, odczytuje nagłówek HTTP X-GitLab-API-URL i używa go jako bazowego adresu dla wychodzących zapytań do API GitLab. Serwer sprawdza jedynie poprawność formatu URL, nie stosując żadnej listy dozwolonych hostów, a następnie dołącza token Private-Token ofiary do każdego przekierowanego zapytania. Wersja 2.1.27 zawiera poprawkę.

Ocena ryzyka

Atakujący z dostępem do transportu HTTP może przekierować zapytania serwera na kontrolowany przez siebie host i przechwycić token GitLab ofiary, co prowadzi do pełnego przejęcia uprawnień w GitLab. Ryzyko jest wysokie, ponieważ nie wymaga uwierzytelnienia po stronie atakującego.

Rekomendacja

Zaktualizuj @zereight/mcp-gitlab do wersji 2.1.27 lub nowszej. Jeśli funkcja dynamicznego URL nie jest potrzebna, wyłącz ENABLE_DYNAMIC_API_URL i ogranicz dostęp sieciowy do serwera MCP.

Inne podatności w @zereight/mcp-gitlab

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

`@zereight/mcp-gitlab` is a Model Context Protocol server for GitLab. Starting in version 0.0.1 and prior to version 2.1.27, when the environment variable `ENABLE_DYNAMIC_API_URL=true` is set, the server reads the `X-GitLab-API-URL` HTTP request header and uses it as the base URL for all outbound GitLab API calls made within that request. The server validates that the value is a well-formed URL (`new URL(dynamicApiUrl)`) but applies no allowlist or hostname restriction. The server then attaches the victim's `Private-Token` to every outbound fetch that uses the redirected URL. Any caller who can reach the HTTP transport can set `X-GitLab-API-URL` to an attacker-controlled host. The next GitLab API call the server makes delivers the victim's token to that host. Version 2.1.27 contains a patch.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS