Skip to main content

9Router CVE-2026-56676

| EUVDEUVD-2026-42929 HIGH
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-07-10 GitHub_M
7.4
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

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

Authenticated proxy user (PR:L) over the network; winning the DNS rebind race raises AC:H; SSRF pivots to internal systems (S:C) with limited read/write and no availability impact (A:N).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Jul 10, 2026 - 17:01 EUVD
Analysis Generated
Jul 10, 2026 - 16:23 vuln.today

DescriptionCVE.org

9Router is an AI router & token saver. Prior to 0.5.2, 9router validates image URLs by resolving the host before fetching, but open-sse/translator/concerns/image.js performs the later server-side image fetch with a separate DNS resolution. An authenticated attacker with access to the LLM proxy can use a vision-capable model and an attacker-controlled DNS name that first resolves to a public IP and then rebinds to an internal address, allowing server-side requests to internal-only HTTP services. This issue is fixed in version 0.5.2.

AnalysisAI

Server-side request forgery via DNS rebinding in 9Router (decolua/9router) before 0.5.2 allows an authenticated LLM-proxy user to reach internal-only HTTP services. The image-URL validation resolves the host once to a public IP, but open-sse/translator/concerns/image.js performs the actual server-side fetch with a separate DNS lookup, so an attacker-controlled name can rebind to an internal address between the two resolutions. No public exploit identified at time of analysis; the flaw is fixed in 0.5.2.

Technical ContextAI

9Router is a Node.js-based AI/LLM router and token-saving proxy. Vision-capable models accept image URLs, which the server fetches on the user's behalf. The root cause is CWE-367 (Time-of-check to Time-of-use): the security check (DNS resolution used to validate that the host maps to a public IP) and the security-sensitive action (the real image fetch in open-sse/translator/concerns/image.js) each perform their own independent DNS resolution. Because the check and use are not bound to the same resolved address, an attacker-controlled authoritative DNS server can return a public IP during validation and an internal RFC1918 address during the fetch (classic DNS rebinding), converting the trusted image-fetch path into an SSRF primitive against localhost and internal HTTP services. The only affected package is cpe:2.3:a:decolua:9router.

RemediationAI

Vendor-released patch: upgrade 9router to version 0.5.2 or later (release https://github.com/decolua/9router/releases/tag/v0.5.2, fix commit c7d07448c58bec1200741de0b73305b860416b82, advisory GHSA-cmhj-wh2f-9cgx). If immediate upgrade is not possible, apply compensating controls: pin the fetch to the exact IP validated during the check (resolve once and reuse the address) or route outbound image fetches through an egress proxy that blocks RFC1918/loopback/link-local and metadata (169.254.169.254) destinations - the trade-off is that legitimately internal image URLs will break. Additionally, disable or restrict vision-capable model routes for untrusted proxy users, and enforce network egress filtering so the 9router host cannot reach internal-only HTTP services; the side effect is reduced functionality for any workflow that legitimately fetches internal images.

CVE-2026-59801 CRITICAL POC
9.3 Jul 13

Unauthenticated CRUD on the provider-management API in 9Router (through 0.4.41) lets remote attackers with no credential

CVE-2026-56677 HIGH POC
8.6 Aug 17

Server-Side Request Forgery (SSRF) in 9Router 0.5.4 and earlier allows unauthenticated remote attackers to probe interna

CVE-2026-63732 CRITICAL
9.4 Jul 23

Remote unauthenticated code execution in 9router 0.4.59 (by decolua) lets an attacker chain three flaws - a hardcoded de

CVE-2026-5842 MEDIUM POC
5.5 Apr 09

Remote authorization bypass in decolua 9router up to version 0.3.47 allows unauthenticated network attackers to access t

CVE-2026-62327 CRITICAL
9.3 Jul 13

Unauthenticated API key disclosure in 9Router (npm package '9router' by decolua) through version 0.4.41 lets any remote

CVE-2026-62312 HIGH
8.8 Jul 15

Authenticated remote code execution in 9Router before 0.5.2 lets a logged-in attacker run arbitrary OS commands on the h

CVE-2026-62328 HIGH
8.7 Jul 13

Unauthenticated information disclosure in 9Router (decolua/9router) through version 0.4.41 lets remote attackers read ev

CVE-2026-56679 HIGH
8.7 Jul 15

Authentication bypass in 9Router (AI router & token saver) prior to 0.5.4 lets any authenticated user disable applicatio

CVE-2026-55638 HIGH POC
8.6 Jul 10

Authorization-gate bypass in 9Router (decolua/9router) before 0.5.2 lets a remote unauthenticated attacker reach protect

CVE-2026-63313 HIGH
8.3 Jul 23

Server-side request forgery in 9Router before 0.4.72 lets an authenticated (PR:L) or locally-connected user abuse the /v

CVE-2026-56675 HIGH
8.3 Jul 10

Authentication bypass in 9Router (decolua/9router) versions prior to 0.5.2 lets remote unauthenticated attackers reach p

CVE-2026-55641 HIGH POC
8.2 Jul 10

Authentication bypass in 9Router (decolua/9router) before 0.5.2 lets a remote unauthenticated attacker forge a 'Host: lo

Share

CVE-2026-56676 vulnerability details – vuln.today

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