<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T11:15:00.464225+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-55580</id>
    <title>fkie_cve-2026-55580</title>
    <updated>2026-10-03T11:15:00.478555+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-55580"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-f5pj-2738-996m</id>
    <title>GHSA-f5pj-2738-996m — mcp-shell — Security Disabled by Default in Bare-Binary Deploy Path + Shell Interpreter in Secure-Mode Allowlist</title>
    <updated>2026-10-03T11:15:00.478657+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/sonirico/mcp-shell</p>
<p>mcp-shell` at commit `17ac0eef5c9a5a42b8fb132d3d034973d55a5433` has two issues that together mean neither the default deploy path nor the recommended "secure mode" delivers the restriction they're marketed as providing. Filing these together because the two failure modes bracket the full intended audience — the from-source path gets users who skip security config entirely, the Docker path gets users who follow the security.yaml example and believe they're protected.</p>
<p>---</p>
<p>The first issue is in `config.go`, line 49:</p>
<p>```go
config := &amp;Config{
    Security: SecurityConfig{
        Enabled: false,
    },
    ...
}
```</p>
<p>Security is opt-in. The bare binary ships with `Enabled: false`, and `security.go` lines 26–29 make the consequence explicit:</p>
<p>```go
func (v *SecurityValidator) validateCommand(command string) error {
    if !v.config.Enabled {
        v.logger.Debug().Str("command", command).Msg("Security disabled, allowing command")
        return nil
    }
```</p>
<p>`main.go` lines 35–39 confirm the deployment condition:</p>
<p>```go
configFile := os.Getenv("MCP_SHELL_SEC_CONFIG_FILE")
if configFile != "" {
    log.Info().Str("config_file", configFile).Msg("Loading security config")
} else {
    log.Info().Msg("No security config file specified, security disabled")
}
```</p>
<p>The README's from-source install path (lines 22–26) runs `git clone ... &amp;&amp; make install &amp;&amp; mcp-shell` with no environment variable and no config file. The MCP client config example block (lines 78–85) passes only `MCP_SH…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-f5pj-2738-996m"/>
  </entry>
</feed>
