Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Poważne luki bezpieczeństwa w serwerze MCP od Anthropic prowadzą do RCE
Na łamach sekuraka już nie raz pisaliśmy czym jest Model Context Protocol (MCP) i co umożliwia. Dla tych, którzy po raz pierwszy spotykają się z tym pojęciem wyjaśniamy. MCP to uniwersalny standard dla ekosystemu AI, pozwalający na rozszerzenie możliwości dużych modeli językowych (LLM). Opiera się na komunikacji klient-serwer, gdzie klient, tzw. MCP-host (np. Claude Desktop, VS Code+Copilot) odpytuje serwer MCP o dostęp do konkretnych zasobów (lokalne pliki, bazy danych) lub narzędzi.
TLDR:
- Zespół analityków z Cyata wykrył trzy luki bezpieczeństwa w oficjalnym serwerze MCP od Anthropic (mcp-server-git).
- Chociaż luki oceniono jako medium, w połączeniu mogą doprowadzić do RCE.
- Błędy wynikają z nieprawidłowej walidacji parametrów wejściowych wprowadzanych przez użytkownika i przekazywanych do agenta AI.
- Luki zostały załatane w wersji 2025.12.18.
Od teraz nie ma konieczności budowania dedykowanych konektorów dla każdego modelu z osobna. Serwer MCP wystawia ustandaryzowany zestaw zasobów, narzędzi oraz promptów, które MCP-host udostępnia modelowi LLM. To od nas zależy jakie konkretnie funkcje i endpointy zostaną wystawione, co pozwala na izolację wrażliwych danych i precyzyjne określenie zakresu interakcji modelu z zasobami.

MCP stał się na tyle popularny, że w najnowszej wersji Kali Linux oraz Parrot znajdziemy natywne wsparcie dla tego protokołu oraz preinstalowane narzędzie takie jak HexStrike AI, które go wykorzystują.
Najnowsze badania przeprowadzone przez analityków z Cyata pokazują, że oficjalna implementacja pakietu mcp-server-git, rozwijana przez firmę Anthropic zawiera luki bezpieczeństwa. W połączeniu mogą doprowadzić do RCE (Remote Code Execution). Od razu zaznaczamy, błędy zostały załatane w wersji 2025.12.18.
Jakie błędy zostały wykryte?
CVE-2025-68143 (CVSS 6.5/10;v4) – podatność path traversal. Funkcja git_init akceptowała dowolną ścieżkę podaną przez model i inicjowała w niej repozytorium git, bez żadnej walidacji danych wejściowych. Proces, działał z uprawnieniami użytkownika, a co za tym idzie istniała możliwość utworzenia repozytorium np. w katalogu ~/.ssh. W konsekwencji korzystając z innych funkcji serwera (git_status, git_ls_files, git_diff) istniała możliwość odczytania danych kluczy SSH.
CVE-2025-68144 (CVSS 6.3/10;v4) – podatność argument injection. Dane przekazywane do funkcji git_diff i git_checkout nie były walidowane, w związku z czym atakujący (poprzez manipulację modelem) miał możliwość wstrzykiwania parametrów bezpośrednio do git cli. W praktyce istniała możliwość nadpisania dowolnego miejsca w systemie, poprzez użycie flagi –output (np. –output=~/.ssh/authorized_keys).
CVE-2025-68145 (CVSS 6.4/10;v4) – podatność path traversal. Za pomocą flagi –repository istniała możliwość wyjścia z lokalizacji repozytorium, a co za tym idzie agent AI miał dostęp do plików systemowych.
Podsumowując, zaprezentowane podatności pozwalały na utworzenie katalogu w dowolnym miejscu w systemie (oczywiście w kontekście danego użytkownika). Nadpisanie plików oraz uzyskanie dostępu do każdego repozytorium znajdującego się na serwerze.
Badacze poszli o krok dalej i zaprezentowali schemat ataku pozwalający na zdalne wykonanie kodu (RCE).

Atak rozpoczyna się od utworzenia repozytorium w wybranym przez cyberprzestępcę katalogu.
Następnie, korzystając z serwera Filesystem MCP potencjalny atakujący zapisuje plik konfiguracyjny .git/config zawierający definicję tzw. filtra clean. W omawianym przykładzie filtr ten umożliwia wykonanie dowolnego skryptu bez konieczności nadawania plikom uprawnień do wykonywania (bit execute).
W kolejnym kroku atakujący modyfikuje plik .gitattributes, aby nałożyć filtr na konkretne pliki. Finalnie, użycie polecenia git add spowoduje automatyczne uruchomienie złośliwego kodu (poprzez wywołanie filtra), co skutkuje wykonaniem skryptu i nawiązaniem połączenia zwrotnego.
Biorąc pod uwagę fakt, że podatność występowała w oficjalnym pakiecie mcp-server-git, stanowiącym implementację referencyjną dla wielu projektów integrujących modele LLM, konsekwencje mogą być poważne. Zalecamy niezwłoczną aktualizację serwera MCP do wersji minimum 2025.12.1. Jednocześnie sugerujemy ograniczenie środowiska wykonawczego, poprzez uruchamianie serwerów MCP w izolowanych kontenerach lub z wykorzystaniem uprawnień wyłącznie do niezbędnych katalogów roboczych.
Źródło: cyata.ai
~_secmike
