CVE-2026-55582
WysokieCVSS 8.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
mcp-shell to serwer MCP do bezpiecznego, audytowalnego i na żądanie wykonywania poleceń powłoki. Przed wersją 0.6.0 domyślny plik security.yaml zezwala na /usr/bin/git, podczas gdy security.go pomija ! w containsShellMetacharacters i containsDangerousShellConstructs i nie stosuje żadnej polityki argumentów dla poszczególnych wykonywalnych plików. Osoba wywołująca narzędzie MCP shell_exec może podać argument polecenia /usr/bin/git -c alias.pwn=!<arbitrary-command>, powodując, że Git utworzy alias powłoki i wykona dowolne polecenia systemu operacyjnego jako użytkownik procesu mcp-shell. Domyślny obraz Dockera działa jako mcpuser z zainstalowanym Git i włączonym trybem bezpiecznym, więc obejście jest możliwe do wykorzystania w domyślnym wdrożeniu bez dodatkowego uwierzytelnienia poza łącznością MCP. Problem został naprawiony w wersji 0.6.0.
Ocena ryzyka
Ryzyko obejmuje wykonanie dowolnych poleceń systemu operacyjnego przez osobę z dostępem do MCP, co może prowadzić do pełnej kompromitacji systemu.
Rekomendacja
Zaleca się natychmiastową aktualizację do wersji 0.6.0 lub nowszej oraz ograniczenie dostępu do serwera MCP tylko dla zaufanych klientów.
Inne podatności w mcp-shell
Zobacz wszystkie- CVE-2026-55580Wysokie
mcp-shell przed wersją 0.6.0 domyślnie wyłącza zabezpieczenia, a gdy zmienna MCP_SHELL_SEC_CONFIG_FILE nie jest ustawiona, uruchamia się bez polityki bezpieczeństwa. Walidator poleceń pomija wtedy kontrolę i pozwala na wykonanie dowolnych poleceń systemowych przez podłączony model LLM. Problem został naprawiony w wersji 0.6.0.
- CVE-2026-55581Wysokie
mcp-shell to serwer MCP do bezpiecznego, audytowalnego i na żądanie wykonywania poleceń powłoki. Przed wersją 0.6.0 domyślny plik security.yaml w Dockerze zawiera /bin/bash w allowed_executables, podczas gdy security.go waliduje tylko pierwszy token, a checkBlockedPatternsAndCommands nie odrzuca flagi trybu poleceń powłoki -c. Osoba wywołująca narzędzie MCP shell_exec może podać argument polecenia `/bin/bash -c <arbitrary-command>`, który przechodzi walidację i dociera do executor.go, gdzie parseCommand i exec.CommandContext wykonują dowolne polecenie jako mcpuser poza zamierzoną listą dozwolonych. Problem został naprawiony w wersji 0.6.0.
Oryginalny opis (angielski, źródło NVD)
mcp-shell is an MCP server for running shell commands securely, auditably, and on demand. Prior to 0.6.0, the default security.yaml allows /usr/bin/git, while security.go omits ! from containsShellMetacharacters and containsDangerousShellConstructs and applies no per-executable argument policy. A caller of the shell_exec MCP tool can provide the command argument /usr/bin/git -c alias.pwn=!<arbitrary-command>, causing Git to create a shell alias and execute arbitrary OS commands as the mcp-shell process user. The default Docker image runs as mcpuser with Git installed and secure mode enabled, so the bypass is exploitable in the default deployment without additional authentication beyond MCP connectivity. This issue is fixed in version 0.6.0.

