CVE-2026-29787
mcp-memory-service is an open-source memory backend for multi-agent systems. Prior to version 10.21.0, the /api/health/detailed endpoint returns detailed system information including OS version, Python version, CPU count, memory totals, disk usage, and the full database filesystem path. When MCP_ALLOW_ANONYMOUS_ACCESS=true is set (required for the HTTP server to function without OAuth/API key), this endpoint is accessible without authentication. Combined with the default 0.0.0.0 binding, this ex
How AI Introduced This
The fix for CVE-2026-29787 replaces hardcoded network binding in `mcp_server.py` (`host="0.0.0.0", port=8000`) with configuration-driven `HTTP_HOST`/`HTTP_PORT`, indicating the security issue was exposure of HTTP endpoints, including the health endpoint, on all interfaces by default. The suspected commit is exactly where that hardcoded remote-access binding was introduced, and its commit message explicitly says it set `FastMCP host=0.0.0.0 for remote access`. That change made the service—and thus the health endpoint that disclosed system information—remotely reachable by default, which is the core condition enabling the information disclosure vulnerability.
▶Bug-Introducing Commits(1)
fix: Configure FastMCP server for remote access and fix mcp.run() syntax
Tribunal Analysis
3 agents▶CONFIRMEDGPT-5.497%
The fix for CVE-2026-29787 replaces hardcoded network binding in `mcp_server.py` (`host="0.0.0.0", port=8000`) with configuration-driven `HTTP_HOST`/`HTTP_PORT`, indicating the security issue was exposure of HTTP endpoints, including the health endpoint, on all interfaces by default. The suspected commit is exactly where that hardcoded remote-access binding was introduced, and its commit message explicitly says it set `FastMCP host=0.0.0.0 for remote access`. That change made the service—and thus the health endpoint that disclosed system information—remotely reachable by default, which is the core condition enabling the information disclosure vulnerability.
- •Fix commit changes `FastMCP(... host="0.0.0.0", port=8000 ...)` to `host=HTTP_HOST, port=HTTP_PORT` in `src/mcp_memory_service/mcp_server.py`.
- •BIC diff introduces `host="0.0.0.0"` and `port=8000` in the `FastMCP` constructor.
- •BIC commit message: `Set FastMCP host=0.0.0.0 for remote access from Claude Code clients` and `FastMCP server now listening on 0.0.0.0:8000`.
- •Search at the BIC found no health-endpoint code added there, implying the commit did not create the health logic itself but did expose existing HTTP endpoints, including `/health`, to remote clients by default.
▶UNLIKELYClaude Opus 4.630%
Fallback verdict: Agent exhausted max turns without submitting a verdict.
▶UNLIKELYGemini 3.1 Pro30%
Fallback verdict: Agent exhausted max turns without submitting a verdict.
Returning detailed system information (e.g., version, uptime) in a public or read-only health check endpoint.▶AI Signals(2)
| Claude Code | Co-author trailer | Co-Authored-By: Claude <noreply@anthropic.com> | 95% |
| Claude Code | Commit message keyword | Generated with Claude Code | 95% |