T09 · Insecure Skill Coding Practices
Warning
- Location
- pipeline-mcp.yaml:13
- Finding
- Unauthenticated HTTP Validation Service Exposed on All Network Interfaces## Vulnerability Details **File Location**: `pipeline-mcp.yaml:13-20` **Vulnerability Type**: Unauthenticated network service exposure **Risk Level**: Medium ```yaml http: enabled: true address: "0.0.0.0:${PORT:-8080}" input: http_server: path: /validate allowed_verbs: [POST] ``` ### Technical Analysis The MCP pipeline binds its HTTP service to `0.0.0.0`, making the validation endpoint accessible through every network interface available to the host. The configuration does not define authentication, authorization, or a trusted-source restriction. Although the endpoint only validates JSON, remote accessibility unnecessarily expands the attack surface. Any host capable of reaching the configured port can invoke parsing and response-generation operations. The endpoint is therefore exposed beyond the local use case presented by the skill. ### Attack Path 1. An operator starts the MCP pipeline using its default address and port. 2. The service listens on all network interfaces at port `8080`. 3. An attacker identifies a network path to that port. 4. The attacker sends repeated `POST` requests to `/validate` without credentials. 5. The service accepts and processes each request, consuming parsing, memory, serialization, and connection resources. ### Impact Assessment An attacker does not obtain operating-system privileges or direct access to credentials through this issue. However, any network-reachable party can use the service without authorization. This can enable unauthorized resource consumption and contribute to denial of service, particularly when combined with the absence of an explicit HTTP request-size limit. The affected scope includes the validation process and the CPU, memory, connection, and network resources available to it.
- Remediation
- ## Remediation Suggestions - Bind to `127.0.0.1` by default for local MCP operation. - Require an explicit configuration change before permitting external network exposure. - Add authentication and authorization when remote access is required. - Restrict ingress through host or network firewall rules. - Apply per-client rate limits, request concurrency limits, and connection limits. - Document that binding to `0.0.0.0` exposes the service to other reachable systems.
