Skip to main content

9router CVE-2026-63732

| EUVDEUVD-2026-48436 CRITICAL
OS Command Injection (CWE-78)
2026-07-23 VulnCheck GHSA-qvg7-rqwf-6wmh
9.4
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
10.0 CRITICAL

Hardcoded default password makes it effectively unauthenticated (PR:N), the chain is reliable and low-effort (AC:L), and MCP plugins execute on the host OS beyond the app, so scope changes (S:C) with full C/I/A impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jul 23, 2026 - 23:03 EUVD
Analysis Generated
Jul 23, 2026 - 22:02 vuln.today
CVE Published
Jul 23, 2026 - 21:16 cve.org
CRITICAL 9.4

DescriptionCVE.org

9router 0.4.59 (fixed in 0.4.60) contains a chain of vulnerabilities: a hardcoded default password (123456) that authenticates any fresh installation, a bypass of the LOCAL_ONLY network gate via a spoofed Host header, and unvalidated arguments passed to child_process.spawn() when registering MCP plugins. A remote, unauthenticated attacker can log in with the default credential, spoof the Host header to reach local-only routes, and register a malicious MCP plugin (e.g. node -e <payload>) to achieve arbitrary code execution on the host operating system when the plugin's SSE endpoint is triggered.

AnalysisAI

Remote unauthenticated code execution in 9router 0.4.59 (by decolua) lets an attacker chain three flaws - a hardcoded default password (123456) accepted on any fresh install, a Host-header spoof that defeats the LOCAL_ONLY network gate, and unsanitized arguments reaching child_process.spawn() during MCP plugin registration - to run arbitrary OS commands on the host. The issue is fixed in 0.4.60, was reported by VulnCheck, and carries a CVSS 4.0 base score of 9.4; no public exploit identified at time of analysis, though the advisory describes a directly reproducible attack path.

Technical ContextAI

9router is a routing/proxy service that supports MCP (Model Context Protocol) plugins, which it registers and launches as child processes. The root cause is CWE-78 (OS Command Injection): user-controllable plugin registration data (e.g. a command like 'node -e <payload>') is passed as unvalidated arguments to Node.js child_process.spawn(), so attacker-supplied input is executed by the host shell/runtime when the plugin's SSE (Server-Sent Events) endpoint is triggered. Two upstream weaknesses make this reachable remotely: authentication relies on a static default credential (CWE-798-style hardcoded password) rather than per-install secrets, and the LOCAL_ONLY access control trusts the client-supplied Host header, which is trivially forgeable, so 'local only' routes are exposed to remote clients. The single affected package per CPE is cpe:2.3:a:decolua:9router (all versions up to the 0.4.60 fix).

RemediationAI

Primary fix: upgrade to 9router 0.4.60, which the vendor released to remediate the chain, per GHSA-4922-8r65-fq26 (https://github.com/decolua/9router/security/advisories/GHSA-4922-8r65-fq26) and the VulnCheck advisory (https://www.vulncheck.com/advisories/9router-before-remote-code-execution-via-default-password). If immediate patching is not possible, change the default password (123456) to a strong unique credential on every install to close the trivial login, which stops the entry point at the cost of nothing but an admin step; enforce the LOCAL_ONLY restriction at the network layer rather than trusting the application's Host-header check - for example bind the service to 127.0.0.1/loopback or place it behind a firewall or reverse proxy that validates the true source address, accepting that this blocks legitimate remote administration; and disable or restrict MCP plugin registration for untrusted users so unvalidated commands cannot reach child_process.spawn(), with the trade-off that plugin functionality is lost until patched.

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-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
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
8.2 Jul 10

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

CVE-2026-56676 HIGH
7.4 Jul 10

Server-side request forgery via DNS rebinding in 9Router (decolua/9router) before 0.5.2 allows an authenticated LLM-prox

Share

CVE-2026-63732 vulnerability details – vuln.today

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