Katalog CVE

CVE-2026-55581

WysokieCVSS 8.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.34%

Percentyl 27 - wyżej niż 27% 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 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.

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
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 Docker security.yaml includes /bin/bash in allowed_executables, while security.go validates only the first token and checkBlockedPatternsAndCommands does not reject the shell command-mode flag -c. A caller of the shell_exec MCP tool can provide the command argument `/bin/bash -c <arbitrary-command>`, which passes validation and reaches executor.go, where parseCommand and exec.CommandContext execute the arbitrary command as mcpuser outside the intended allowlist. This issue is fixed in version 0.6.0.

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