criticalAgent ThreatProtocol Vulnerability

mcp-router Insecure-by-Default Network Exposure and Missing Authentication

First seen Aug 29, 2026 · Updated Aug 29, 2026 · CVSS 9.1

MCPmcp-routerinsecure-defaultsmissing-authenticationnetwork-exposureaggregatorunauthenticated-accessCVE-2026-81094ASI08 · Cascading FailuresSurface: ProtocolPropagation: Single Hop

The mcp-router CLI's serve command bound to all network interfaces by default and only enforced authentication if an operator explicitly requested it, meaning a standard invocation exposed the MCP aggregator and every downstream MCP server it fronts to anyone who could reach the port. This is a straightforward insecure-default configuration flaw rather than a novel attack technique, but its impact is severe because it grants unauthenticated network access to an aggregation point for multiple MCP tool servers. Version 0.6.3 fixes this by defaulting to loopback binding and refusing non-loopback starts without a token.

Technical Analysis

The vulnerability lies in apps/cli/src/commands/serve.ts, where the default host value was set to 0.0.0.0 (all interfaces) on a fixed port, and the authentication token was only enforced when a CLI flag was explicitly passed. Because mcp-router acts as an aggregator that fronts multiple downstream MCP servers, any unauthenticated network-reachable client could enumerate and invoke every tool exposed through the aggregator, effectively bypassing per-server access controls. The entry point is the network socket itself rather than a prompt or model-level attack surface, but the consequence is full tool-layer compromise: an attacker gains the same capabilities as a legitimate MCP client, including invocation of any aggregated tool, potential data exfiltration, and use of those tools as a pivot into backend systems. This crosses trust boundaries because it converts a local development convenience (unauthenticated default) into an internet- or LAN-facing unauthenticated API surface for all connected agent tools.

Affected Systems

mcp-router; protocols: MCP

Detection Signatures

  • mcp-router serve process listening on 0.0.0.0 or non-loopback interface without --token flag
  • Inbound connections to mcp-router aggregator port from unexpected external or internal IP ranges
  • Absence of authentication headers/tokens in MCP requests reaching the aggregator
  • Network scan/traffic logs showing unauthenticated JSON-RPC/MCP handshake requests to the aggregator port

Remediation Steps

  1. 1

    Upgrade to mcp-router 0.6.3+

    Update to the patched release which defaults to loopback binding and enforces token authentication whenever a non-loopback host is configured.

  2. 2

    Explicitly bind to loopback or trusted interfaces

    Configure the serve command to bind only to 127.0.0.1 or internal-only interfaces unless remote access is intentionally required.

  3. 3

    Always require authentication tokens

    Set the authentication token flag explicitly on every deployment regardless of host binding, and avoid relying on default behavior.

  4. 4

    Network-level restriction

    Use firewall rules or security groups to restrict access to the mcp-router port to known, trusted hosts only.

  5. 5

    Audit existing deployments

    Review all running mcp-router instances for exposed ports and missing authentication, and rotate any credentials that may have been reachable through the aggregator.

CVE / Advisory IDs

CVE-2026-81094

Industries Most Exposed

Software/TechnologyAI DevelopmentSaaSAny organization deploying self-hosted MCP infrastructure

Sources

Respond to this threat

Pro subscribers get a full AI-generated incident-response playbook for this threat — detection, containment, eradication, and recovery steps — plus an unlimited AI Threat Advisor for questions about your environment.