Skip to main content

9Router EUVDEUVD-2026-84541

| CVE-2026-56681 HIGH
Reliance on Untrusted Inputs in a Security Decision (CWE-807)
2026-09-22 GitHub_M GHSA-5mj8-gf6m-fhw8
7.3
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.3 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
vuln.today AI
7.3 HIGH

Remote unauthenticated header spoof (AV:N/AC:L/PR:N/UI:N); low impact - provider/model enumeration (C:L), unauthorized LLM use (I:L), and paid-credit consumption (A:L); wrapper-less deployment is environmental, not attacker complexity.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

Lifecycle Timeline

6
Threat Model Generated
Sep 24, 2026 - 23:30 vuln.today
POC Analysis Generated
Sep 23, 2026 - 11:22 vuln.today
Patch available
Sep 22, 2026 - 17:17 EUVD
Metadata Corrected
Sep 22, 2026 - 16:40 vuln.today
tag: Node Js added
Analysis Generated
Sep 22, 2026 - 16:36 vuln.today
CVE Published
Sep 22, 2026 - 16:02 cve.org
HIGH 7.3

DescriptionCVE.org

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.

AnalysisAI

Authentication bypass in 9Router (npm package '9router') before 0.5.6 lets a remote, unauthenticated attacker reach the public LLM API under /api/v1/* by simply adding the header X-9r-Real-Ip: 127.0.0.1, which the application's isLocalRequest() logic in src/dashboardGuard.js trusts when deciding whether canAccessPublicLlmApi() may skip API-key validation. Successful abuse grants unauthorized use of the instance owner's configured LLM providers, consumption of paid credits, and enumeration of configured providers and models; the verified affected route is GET /api/v1/models. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Exploitable only when the instance is deployed in a mode where requests reach Next.js directly WITHOUT the bundled custom-server.js wrapper (which normally derives the client IP from the unspoofable TCP socket and strips any inbound X-9r-Real-Ip), AND the LLM API (/api/v1/*) is network-reachable to the attacker (default bind is 0.0.0.0). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L = 7.3) describes a network-reachable, low-complexity, unauthenticated bypass with low impact across all three dimensions, which matches the description: a remote unauthenticated attacker spoofs X-9r-Real-Ip: 127.0.0.1 to be treated as a loopback client and skip API-key validation on /api/v1/*. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Upgrade 9Router to a patched release: the vendor advisory GHSA-5mj8-gf6m-fhw8 and release tag v0.5.6 identify 0.5.6 as the fix, while package registry metadata lists 0.5.8 as the fixed version, so deploying 0.5.8 or later is the safest course and the upstream fix is contained in commit efd20be8d81ef2e256a7037f3aa78e6b567b5fd3 (see https://github.com/decolua/9router/releases/tag/v0.5.6). … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, inventory all deployments of the npm package '9router' before 0.5.6 and immediately restrict network access to /api/v1/* endpoints by binding the service to localhost or an internal interface, blocking external access, and ensuring requests are routed through the bundled custom-server.js wrapper where feasible. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

CVE-2022-3602 HIGH
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

CVE-2014-7192 CRITICAL POC
10.0 Dec 11

Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat

CVE-2016-2183 HIGH POC
7.5 Sep 01

The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other protocols and products, have a bi

CVE-2015-3194 HIGH
7.5 Dec 06

crypto/rsa/rsa_ameth.c in OpenSSL 1.0.1 before 1.0.1q and 1.0.2 before 1.0.2e allows remote attackers to cause a denial

CVE-2016-2105 HIGH
7.5 May 05

Integer overflow in the EVP_EncodeUpdate function in crypto/evp/encode.c in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2

CVE-2022-3786 HIGH POC
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

CVE-2024-3566 CRITICAL POC
9.8 Apr 10

Command injection via Windows CreateProcess argument parsing affects multiple language runtimes and tooling (Node.js, PH

Share

EUVD-2026-84541 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy