T05 · Unauthorized Access and Privilege Escalation
- Location
start-mcp.sh:132- Finding
Unauthenticated MCP Service May Be Exposed on All Network Interfaces
- Content
View full analysis
"$LOG_FILE" 2>&1 & else nohup "$XHS_MCP" -port ":${PORT}" > "$LOG_FILE" 2>&1 & fi ``` The associated client invokes MCP operations without credentials: ```bash INIT_RESPONSE=$(curl --noproxy '*' -s -i -X POST "$MCP_URL" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"openclaw","version":"1.0"}}}') ``` ### Technical Analysis The service is launched with `-port ":${PORT}"`. In the conventional Go network address format used by the referenced MCP implementation, an address containing only `:port` listens on all available interfaces rather than exclusively on the loopback interface. No authentication token, client certificate, or other authorization mechanism is configured by these scripts. The generic MCP client only initializes a session and then submits `tools/call` requests. The documented tool set includes account-affecting operations such as publishing content, posting comments, liking or favoriting posts, and deleting cookies. Consequently, a host firewall or external network configuration becomes the only barrier preventing other systems from reaching the authenticated MCP service. ### Attack Path 1. The user starts the monitor on a host reachable by another system. 2. `xiaohongshu-mcp` listens on TCP port `18060`, potentially o ...[truncated 873 chars]- Remediation
View remediation
