CVE-2026-55580
WysokieCVSS 8.6Streszczenie
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.
Ocena ryzyka
Atakujący może zdalnie wykonywać nieograniczone polecenia systemu operacyjnego na koncie użytkownika procesu mcp-shell, co prowadzi do pełnej kompromitacji systemu.
Rekomendacja
Zaktualizuj mcp-shell do wersji 0.6.0 lub nowszej oraz upewnij się, że zmienna MCP_SHELL_SEC_CONFIG_FILE jest ustawiona z odpowiednią polityką bezpieczeństwa.
Inne podatności w mcp-shell
Zobacz wszystkie- CVE-2026-55582Wysokie
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.
- 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, config.go initializes Security.Enabled to false, and when MCP_SHELL_SEC_CONFIG_FILE is unset, main.go starts the documented bare-binary deployment without a security policy. SecurityValidator.validateCommand in security.go then short-circuits and allows every command supplied to the shell_exec MCP tool, so an LLM connected over stdio can execute unrestricted OS commands as the mcp-shell process user. The README from-source installation and MCP client configuration omit MCP_SHELL_SEC_CONFIG_FILE, making the insecure state the documented default. This issue is fixed in version 0.6.0.

