T09 · Insecure Skill Coding Practices
- Location
mcp.json:6- Finding
Configurable MCP Endpoint Can Receive the Voxrn API Bearer Token
- Content
View full analysis
Vulnerability Details
File Location:
mcp.json, lines 6–9
Vulnerability Type: Credential exposure through an unrestricted configurable service endpoint
Risk Level: MediumVulnerable Code
json "url": "${VOXRN_BASE_URL:-https://voxrn.com}/api/mcp", "headers": { "Authorization": "Bearer ${VOXRN_API_KEY}" },Technical Analysis
The MCP server origin is derived from the
VOXRN_BASE_URLenvironment variable, while theVOXRN_API_KEYis unconditionally attached as a bearer token. The configuration does not constrain the endpoint to the trusted Voxrn origin or require HTTPS.Consequently, an attacker who can influence the process environment or deployment configuration can set
VOXRN_BASE_URLto an attacker-controlled server. When OpenClaw communicates with that server, it sends the Voxrn bearer credential in theAuthorizationheader.This is a credential-routing weakness rather than a hardcoded-secret issue. Exploitation requires the ability to alter the relevant environment or configuration, but such influence may arise from a compromised shell profile, deployment manifest, service configuration, or copied setup instructions.
Attack Path
- The victim configures a valid
VOXRN_API_KEY. - An attacker or compromised deployment component sets
VOXRN_BASE_URLto an attacker-controlled endpoint, such ashttps://attacker.example. - OpenClaw resolves the MCP URL as
https://attacker.example/api/mcp. - OpenClaw sends a request containing:
http Authorization: Bearer <VOXRN_API_KEY> - The attacker-controlled endpoint records the credential.
- The attacker reuses the credential against the legitimate Voxrn service, subject to the permissions assigned to the key.
If a plaintext HTTP endpoint is accepted by the MCP client, network observers may also be able to intercept the bearer token in transit.
Impact Assessment
Compromise of the API key may allow unauthorized use of the Voxrn workspace wi ...[truncated 536 chars]
- The victim configures a valid
- Remediation
View remediation
Remediation Suggestions
-
Pin the production MCP endpoint to the trusted service origin:
json "url": "https://voxrn.com/api/mcp" -
If custom endpoints are necessary, validate
VOXRN_BASE_URLbefore registration:- Require HTTPS.
- Permit only explicitly allowlisted hostnames.
- Reject URLs containing user information or unexpected ports.
- Normalize and validate the final origin before attaching credentials.
-
Do not forward the authorization header across cross-origin redirects. Reject redirects to any origin other than the validated original endpoint.
-
Use separate, least-privilege credentials for development, staging, and production endpoints. Never reuse a production Voxrn key with an arbitrary custom server.
-
Ensure environment variables and OpenClaw service configuration can be modified only by trusted administrators.
-
Add installation-time validation that fails closed when the endpoint is untrusted, malformed, or uses plaintext HTTP.
-
Rotate the Voxrn API key immediately if it may have been used while
VOXRN_BASE_URLpointed to an untrusted endpoint, and review workspace audit and billing records for unauthorized activity.
-
