Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify unauthenticated /api/auth/oidc/test endpoint
-
DeliveryCraft POST request with internal issuerUrl
-
Exploit9Router fetches target's OIDC discovery document
-
ExecutionInternal service response reflected to attacker
-
PersistEnumerate internal hosts and ports
-
ImpactMap internal network topology
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that 9Router's dashboard login feature is explicitly disabled - this is the stated precondition and the basis for CWE-306 classification; when dashboard authentication is enabled, the endpoint is not accessible to unauthenticated callers. The attacker must also have network-level access to the 9Router service port. No additional configuration, special protocol, or software state is required beyond those two conditions. What limits exploitation: deployments with dashboard auth enabled are not exposed; the vulnerability produces information disclosure of internal service metadata rather than direct code execution or data exfiltration of application secrets; scope is unchanged (S:U), so compromise does not automatically pivot to other systems without additional steps. |
| Impact | The NVD-assigned CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L) yields a score of 8.6, but the I:H metric warrants scrutiny - the described behavior is SSRF with information reflection, not direct data modification. High integrity impact is not substantiated by the description alone and may overstate the base score; realistic impact is low-to-moderate confidentiality (internal service discovery) with minimal direct integrity consequence unless the fetched OIDC metadata is subsequently used to manipulate authentication trust. EPSS data is not available in the provided intelligence, and the CVE is not listed in CISA KEV, indicating no confirmed active exploitation at time of analysis. The critical enabling condition - dashboard login being disabled - limits exposure to deployments that have explicitly or inadvertently removed authentication from the dashboard. This is a meaningful constraint, though self-hosted AI-proxy deployments running in trusted internal environments may commonly operate without dashboard auth. No POC has been identified. Real-world priority is moderate: niche product, conditional prerequisite, but trivially exploitable network enumeration once conditions are met. |
| Exploit ScenarioDerived | An attacker with network access to an unauthenticated 9Router instance sends a POST request to /api/auth/oidc/test with an issuerUrl set to an internal address such as http://192.168.1.10:8080. The server fetches http://192.168.1.10:8080/.well-known/openid-configuration and returns the response body, allowing the attacker to confirm whether the internal host is live and extract any OIDC metadata fields it exposes. By iterating over internal IP ranges and ports, the attacker maps the internal service landscape without requiring credentials. No public POC has been identified, but the attack requires only standard HTTP tooling given the low complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Server-Side Request Forgery (SSRF) in 9Router 0.5.4 and earlier allows unauthenticated remote attackers to probe internal network services by supplying an arbitrary issuerUrl to the /api/auth/oidc/test endpoint, which the application fetches without validating against private or loopback address ranges. The reflected OIDC discovery fields - including token_endpoint and jwks_uri - expose internal service metadata, enabling internal network enumeration. No public exploit code or CISA KEV listing has been identified at time of analysis, though the unauthenticated, low-complexity attack surface makes opportunistic scanning plausible.
RemediationAI
Consult the vendor advisory at https://github.com/decolua/9router/security/advisories/GHSA-8g4w-4ffg-8vgx for an official patched release; no exact fix version is confirmed in the available intelligence, so monitor the decolua/9router repository for a release beyond 0.5.4. As a compensating control, enforce dashboard authentication to remove the unauthenticated exposure of the /api/auth/oidc/test endpoint - this is the most direct mitigation and eliminates the CWE-306 condition described. If dashboard auth cannot be enabled, restrict network access to the 9Router service so that the /api/auth/oidc/test endpoint is unreachable from untrusted hosts using a firewall or reverse-proxy ACL; note this does not fix the underlying SSRF but reduces attack surface. In the application code, implement an allowlist or private-IP deny-list inside fetchOidcDiscovery() to block resolution of RFC-1918 and loopback destinations - this is the root technical fix regardless of auth state.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
9Router is an AI prompt-routing and token-saving proxy maintained by decolua (CPE: cpe:2.3:a:decolua:9router:*:*:*:*:*:*:*:*). The vulnerable endpoint - POST /api/auth/oidc/test defined in src/app/api/auth/oidc/test/route.js - accepts a user-supplied issuerUrl and forwards it to fetchOidcDiscovery() in src/lib/auth/oidc.js, which performs an HTTP GET to the supplied URL's /.well-known/openid-configuration path. Because no deny-list or allowlist filters private RFC-1918 ranges (10.x, 172.16-31.x, 192.168.x) or loopback (127.0.0.1, ::1), the server acts as an HTTP proxy into its own internal network. The root cause is classified as CWE-306 (Missing Authentication for Critical Function): the endpoint performs a sensitive outbound network operation but enforces no authentication when the dashboard login feature is disabled, making it openly reachable to any unauthenticated caller on the network.
Know when 9Router gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L
SSRF yields internal service enumeration (C:L); no direct data modification or availability impact is described, so I and A are N; PR:N reflects the unauthenticated condition when dashboard login is disabled.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
9Router is an AI router & token saver. In 0.5.4 and earlier, the POST /api/auth/oidc/test endpoint in src/app/api/auth/oidc/test/route.js passes the user-controlled issuerUrl parameter to fetchOidcDiscovery() in src/lib/auth/oidc.js without restricting private or loopback destinations, allowing unauthenticated attackers when dashboard login is disabled to scan internal services and reflect OIDC discovery fields including token_endpoint and jwks_uri.
Executive ViewAI
9Router versions 0.5.4 and earlier contain an unauthenticated server-side request forgery (SSRF) vulnerability that enables attackers to enumerate internal network services and extract sensitive identity infrastructure metadata without authentication. Organizations deploying 9Router for OIDC-based authentication face immediate reconnaissance risk, as attackers can map internal service topology and credential endpoints to facilitate lateral movement and targeted compromise.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict /api/auth/oidc/test endpoint access via network ACLs or Web Application Firewall to authenticated users only; segment internal networks to limit service exposure reachable from the vulnerable endpoint; implement alerting on abnormal OIDC discovery queries from external sources and monitor for metadata exfiltration patterns.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated CRUD on the provider-management API in 9Router (through 0.4.41) lets remote attackers with no credential
Authentication bypass in 9Router (npm package '9router') before 0.5.6 lets a remote, unauthenticated attacker reach the
Remote unauthenticated code execution in 9router 0.4.59 (by decolua) lets an attacker chain three flaws - a hardcoded de
Remote authorization bypass in decolua 9router up to version 0.3.47 allows unauthenticated network attackers to access t
Improper restriction of excessive authentication attempts (CWE-307) in the 9Router AI router package (decolua/9router) b
Unauthenticated API key disclosure in 9Router (npm package '9router' by decolua) through version 0.4.41 lets any remote
Authenticated remote code execution in 9Router before 0.5.2 lets a logged-in attacker run arbitrary OS commands on the h
Unauthenticated information disclosure in 9Router (decolua/9router) through version 0.4.41 lets remote attackers read ev
Authentication bypass in 9Router (AI router & token saver) prior to 0.5.4 lets any authenticated user disable applicatio
Authorization-gate bypass in 9Router (decolua/9router) before 0.5.2 lets a remote unauthenticated attacker reach protect
Server-side request forgery in 9Router before 0.4.72 lets an authenticated (PR:L) or locally-connected user abuse the /v
Authentication bypass in 9Router (decolua/9router) versions prior to 0.5.2 lets remote unauthenticated attackers reach p
EUVD-2026-60471
GHSA-8g4w-4ffg-8vgx
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB