Description
9Router is an AI router & token saver. In 0.4.45 and earlier, 9Router's src/dashboardGuard.js local-only access gate used Host and Origin headers in isLocalRequest() to protect /api/mcp/*, /api/tunnel/*, and /api/cli-tools/*, allowing header spoofing in reverse proxy or tunnel deployments to reach MCP child process stdin paths.
Published: 2026-07-15
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

9Router is an AI router & token saver. In version 0.4.45 and earlier, the local‑only access gate implemented in src/dashboardGuard.js uses the Host and Origin headers in its isLocalRequest() function to secure the /api/mcp/*, /api/tunnel/*, and /api/cli-tools/* endpoints. This check was intended to allow only local‑only requests, but it fails to properly validate the headers, enabling an attacker to spoof Host or Origin headers when 9Router is deployed behind a reverse proxy or tunnel. The spoofed headers allow the attacker to reach the MCP child process stdin paths, effectively bypassing authentication and potentially enabling unintended actions on the host. This vulnerability is identified as CWE‑290.

Affected Systems

The CVE affects the 9Router AI router from decolua. Versions 0.4.45 and older are impacted. The vulnerability was fixed in release v0.4.46 and later, so any deployment running an earlier release is susceptible.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity flaw, but the EPSS score is below 1%, suggesting that, as of the latest data, the probability of exploitation is low. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to be able to send HTTP requests with arbitrary Host or Origin headers to the 9Router instance, typically through a reverse proxy or tunnel configuration that does not enforce header validation. Based on the description, it is inferred that if an attacker can control these headers, they may be able to access privileged API routes and potentially interact with the MCP child process via its stdin paths, which could enable further unauthorized actions.

Generated by OpenCVE AI on July 31, 2026 at 02:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to 9Router v0.4.46 or later, which restores proper Host and Origin header validation in the local‑only access gate.
  • If an immediate upgrade is not possible, configure any reverse proxy or tunnel in front of 9Router to reject or rewrite Host and Origin headers that do not match the expected value for the 9Router instance, effectively preventing header spoofing.
  • Consider temporarily disabling or segregating the /api/mcp/*, /api/tunnel/*, and /api/cli‑tools/* endpoints until a patch can be applied, or place them behind a network segment accessible only to trusted administrators.

Generated by OpenCVE AI on July 31, 2026 at 02:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-6g2f-w7g3-77vf 9router has an Incomplete Fix: Local-Only Access Gate Bypass in 9router via Host Header SpoofING
History

Thu, 16 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 23:45:00 +0000

Type Values Removed Values Added
First Time appeared Decolua
Decolua 9router
Vendors & Products Decolua
Decolua 9router

Wed, 15 Jul 2026 21:00:00 +0000

Type Values Removed Values Added
Description 9Router is an AI router & token saver. In 0.4.45 and earlier, 9Router's src/dashboardGuard.js local-only access gate used Host and Origin headers in isLocalRequest() to protect /api/mcp/*, /api/tunnel/*, and /api/cli-tools/*, allowing header spoofing in reverse proxy or tunnel deployments to reach MCP child process stdin paths.
Title 9Router: Local-Only Access Gate Bypass in 9router via Host Header SpoofING
Weaknesses CWE-290
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-16T15:12:31.230Z

Reserved: 2026-05-29T14:35:45.903Z

Link: CVE-2026-49353

cve-icon Vulnrichment

Updated: 2026-07-16T14:49:51.029Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T02:45:04Z

Weaknesses
  • CWE-290

    Authentication Bypass by Spoofing