Description
9Router is an AI router & token saver. Prior to 0.5.6, 9Router deployments that allow requests to reach Next.js without the sanitizing custom-server.js wrapper trust the client-supplied X-9r-Real-Ip header in src/dashboardGuard.js when isLocalRequest decides whether canAccessPublicLlmApi may skip API-key validation for /api/v1/* routes. A remote unauthenticated attacker can set X-9r-Real-Ip to 127.0.0.1 and be classified as a local client, including on the verified GET /api/v1/models route. This permits unauthorized use of the instance owner's configured LLM providers, consumption of paid credits, and enumeration of configured providers and models. This issue is fixed in version 0.5.6.
Published: 2026-09-22
Score: 7.3 High
EPSS: n/a
KEV: No
Impact: Authentication Bypass to public LLM API
Action: Apply Patch
AI Analysis

Impact

The vulnerability in 9Router allows an unauthenticated attacker to supply a spoofed X‑9r‑Real‑Ip header that is trusted as a local request, causing the application to skip API‑key validation for routes under /api/v1/. This bypass grants the attacker unrestricted access to the instance’s configured LLM providers, enabling consumption of paid credits and enumeration of providers and models. The weakness corresponds to CWE‑807 (Information Exposure Through Improper Information Handling).

Affected Systems

Affected deployments are those running 9Router version earlier than 0.5.6, particularly configurations that expose Next.js endpoints without the custom‑server.js wrapper that sanitizes the X‑9r‑Real‑Ip header. The vulnerability exists in the decolua:9router product, and any installation that has the public LLM API enabled is at risk.

Risk and Exploitability

The CVSS score of 7.3 indicates moderate to high severity. No EPSS score is available, and the issue is not listed in CISA KEV. The likely attack vector is a remote unauthenticated client sending an HTTP request with a forged X‑9r‑Real‑Ip header set to 127.0.0.1. If successful, the attacker can use the LLM API without credentials, consume paid tokens, and gain insight into the configured provider list. The impact is elevation of privilege and potential denial of service to the resource owner.

Generated by OpenCVE AI on September 22, 2026 at 17:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update 9Router to version 0.5.6 or later to remove the vulnerability.
  • Verify that your deployment no longer trusts client‑supplied X‑9r‑Real‑Ip headers; remove or rewrite any custom‑server.js wrapper that bypasses header sanitization.
  • Restrict access to the /api/v1/ endpoints by requiring API keys or IP whitelisting, and configure your reverse proxy or firewall to reject spoofed X‑9r‑Real‑Ip headers from external clients.

Generated by OpenCVE AI on September 22, 2026 at 17:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5mj8-gf6m-fhw8 9Router has an Authentication Bypass in Public LLM API via Spoofable X-9r-Real-Ip Header
History

Tue, 22 Sep 2026 18:15:00 +0000

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

Tue, 22 Sep 2026 16:15:00 +0000

Type Values Removed Values Added
Description 9Router is an AI router & token saver. Prior to 0.5.6, 9Router deployments that allow requests to reach Next.js without the sanitizing custom-server.js wrapper trust the client-supplied X-9r-Real-Ip header in src/dashboardGuard.js when isLocalRequest decides whether canAccessPublicLlmApi may skip API-key validation for /api/v1/* routes. A remote unauthenticated attacker can set X-9r-Real-Ip to 127.0.0.1 and be classified as a local client, including on the verified GET /api/v1/models route. This permits unauthorized use of the instance owner's configured LLM providers, consumption of paid credits, and enumeration of configured providers and models. This issue is fixed in version 0.5.6.
Title 9Router: Authentication Bypass in Public LLM API via Spoofable X-9r-Real-Ip Header
Weaknesses CWE-807
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-22T16:02:25.018Z

Reserved: 2026-06-22T16:39:01.044Z

Link: CVE-2026-56681

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-09-22T16:17:48.350

Modified: 2026-09-22T16:17:48.497

Link: CVE-2026-56681

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-22T18:00:16Z

Weaknesses
  • CWE-807

    Reliance on Untrusted Inputs in a Security Decision