T09 · Insecure Skill Coding Practices
- Location
pipeline-mcp.yaml:6- Finding
Unauthenticated HTTP Scan Endpoint Exposed on All Network Interfaces
- Content
View full analysis
Vulnerability Details
File Location:
pipeline-mcp.yaml, lines 6-14
Vulnerability Type: Unauthenticated network service with unrestricted interface binding
Risk Level: MediumVulnerable Code
yaml config: http: enabled: true address: "0.0.0.0:${PORT:-8080}" input: http_server: path: /scan allowed_verbs: [POST] timeout: 120sTechnical Analysis
The MCP pipeline binds its HTTP server to
0.0.0.0, making the service reachable through every available network interface. The/scanendpoint acceptsPOSTrequests without any configured authentication or authorization control.No request-body size limit, component-count limit, or rate limit is defined. The subsequent mapping processor parses the caller-supplied
sbomobject and traverses itscomponentsarray. A remote client with network access can therefore submit oversized SBOM documents or repeatedly invoke the endpoint, consuming parsing, memory, and processing resources.Attack Path
- An attacker identifies a host running the MCP pipeline on its configured port, which defaults to TCP port 8080.
- The attacker connects to the service through any reachable interface.
- The attacker sends unauthenticated
POST /scanrequests containing very large JSON bodies or SBOM objects with oversizedcomponentsarrays. - The pipeline parses and traverses each accepted request.
- Repeated or concurrent requests consume service resources and may degrade availability.
Impact Assessment
A remote attacker with network connectivity can invoke the endpoint without credentials. This does not provide operating-system privileges or code execution based on the reviewed configuration. However, it permits unauthorized service use and creates a denial-of-service risk through excessive request size, component volume, or request frequency. The exposure scope includes every network from which the conf ...[truncated 35 chars]
- Remediation
View remediation
Remediation Suggestions
- Bind the server to
127.0.0.1by default unless remote access is explicitly required. - Require authenticated access for remote deployments, such as API-key validation, mutual TLS, or authentication enforced by a trusted reverse proxy.
- Add authorization controls so only approved clients can invoke the scan operation.
- Enforce a strict maximum HTTP request-body size before JSON parsing.
- Validate the SBOM schema and impose a maximum number of components and maximum lengths for component fields.
- Add per-client rate limiting, concurrency limits, and bounded processing time.
- Place the service behind firewall or network-policy restrictions and expose the listening port only to trusted networks.
- Document that binding to
0.0.0.0creates remote network exposure and should require an explicit deployment choice.
- Bind the server to
