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
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Reach 9router HTTP interface over network
  2. Delivery
    Log in with default password 123456
  3. Exploit
    Spoof Host header to bypass LOCAL_ONLY gate
  4. Install
    Register malicious MCP plugin (node -e payload)
  5. C2
    Trigger plugin SSE endpoint
  6. Execute
    Spawn unvalidated command via child_process
  7. Impact
    Execute arbitrary code on host OS

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

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 0.4.59 is network-reachable and still uses the hardcoded default password (123456), which is present on any fresh, unmodified installation; the attacker must send a forged Host header matching the value the LOCAL_ONLY gate expects for localhost to bypass the network restriction; and the MCP plugin-registration feature must be reachable so a plugin with an attacker-controlled command can be added and its SSE endpoint subsequently triggered to execute. Limiting factors: if the operator has changed the default password, bound the service to loopback at the OS/network level (so a spoofed Host header cannot bypass source-address filtering), or disabled MCP plugin registration, the chain breaks. The CVSS PR:L reflects a login step, but because the required credential is a public constant on default installs, that authentication is not a meaningful barrier.

Impact

All available signals point to genuine high priority for anyone running the affected version. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H with subsequent-system SC/SI/SA:H, score 9.4) indicates network reach, low complexity, no user interaction, and full compromise that spreads beyond the vulnerable component to the host OS - consistent with the described arbitrary code execution. The vector lists PR:L, but the description states the login uses a hardcoded default password present on every fresh install, which in practice is equivalent to no authentication; this is a notable tension - the 'privilege' required is a publicly known constant, so real-world exploitability is closer to PR:N than the assigned PR:L. No EPSS score, KEV entry, or explicit POC flag was provided, so exploitation probability cannot be quantified and there is no evidence of active exploitation; the risk rests on the clearly documented, low-effort attack chain rather than observed in-the-wild use. The main mitigating factor is deployment footprint: 9router is an obscure product, so exposure is likely limited to a small number of installs rather than being widespread.

Exploit ScenarioDerived

An attacker who can reach the 9router HTTP interface logs in using the well-known default password 123456, then sends requests carrying a spoofed Host header to satisfy the LOCAL_ONLY gate and reach internal routes. They register a malicious MCP plugin whose command is something like 'node -e <payload>', and when the plugin's SSE endpoint is triggered the payload is spawned as a child process, giving arbitrary code execution on the host. No public exploit was identified at time of analysis, but the advisory describes each step concretely enough to reproduce.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

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.

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.

Affected VersionsENISA

9router 0 <0.4.60

Affected Packages

euvd 9router fix: 0.4.60

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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).

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

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
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

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

2
Patch available
Jul 23, 2026 - 23:03 EUVD
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.

Executive ViewAI

Why It Matters

9router 0.4.59 contains a critical remote code execution vulnerability allowing unauthenticated attackers to execute arbitrary OS commands by exploiting default credentials, network boundary bypass, and command injection during plugin registration. This poses an immediate risk to any organization using fresh installations and requires urgent patching to prevent full system compromise.

Business Impact: Severe
Compensating Controls

Apply vendor patch: upgrade to 9router 0.4.60. If upgrade cannot be completed within 24 hours, change default credentials, restrict network access via firewall, and disable MCP plugin registration until patched.

Threat Intelligence Overview

EPSS Score
0.7%
Top 49% exploitable
Prevalence
Rare
obscure MCP router project, negligible enterprise deployment footprint
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +47
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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-56681 HIGH POC
7.3 Sep 22

Authentication bypass in 9Router (npm package '9router') before 0.5.6 lets a remote, unauthenticated attacker reach the

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-56682 MEDIUM POC
5.3 Sep 22

Improper restriction of excessive authentication attempts (CWE-307) in the 9Router AI router package (decolua/9router) b

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 POC
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 POC
8.3 Jul 10

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

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