Description
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.
Published: 2026-07-23
Score: 9.4 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A recent vulnerability in the 9router firmware 0.4.59 allows a remote, unauthenticated attacker to gain control of the host operating system. The flaw is the result of several chained weaknesses: a hard‑coded default password (123456) that authenticates fresh installations, a bypass of the LOCAL_ONLY network guard through a spoofed Host header, and the unvalidated use of child_process.spawn() when registering MCP plugins. By exploiting these flaws a malicious actor can authenticate, register a malicious plugin, and cause arbitrary code execution when the plugin’s SSE endpoint is triggered. This is a classic command injection (CWE‑78) with full remote code execution potential.

Affected Systems

The affected product is 9router from decolua, in the 0.4.59 release. Firmware 0.4.60 and later contain the fix, so only installations running 0.4.59 or earlier are vulnerable.

Risk and Exploitability

The CVSS score for this flaw is 9.4, indicating a very high severity. The EPSS shows a very low probability of exploitation (<1%) but a low probability does not prevent an attacker from attempting the exploit. The flaw is not listed in the CISA KEV catalog, meaning no known large‑scale exploitation has been reported yet. The attack path is straightforward: an unauthenticated attacker sends a request with the default credentials, spoofed Host header to reach protected routes, and registers a malicious plugin that triggers arbitrary code execution. The absence of input validation on child_process.spawn() makes the vulnerability a classic command injection, allowing arbitrary commands to run with the privileges of the 9router process.

Generated by OpenCVE AI on August 3, 2026 at 20:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade 9router to firmware version 0.4.60 or later, which removes the default password and validates plugin arguments.
  • If an upgrade is not immediately possible, change the default administrator password from 123456 to a strong unique password on all installations.
  • Configure network controls or firewall rules to block remote access to Local‑Only routes, and disable MCP plugin registration until the vulnerability is resolved.

Generated by OpenCVE AI on August 3, 2026 at 20:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 27 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 24 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
First Time appeared Decolua
Decolua 9router
Vendors & Products Decolua
Decolua 9router

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Description 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.
Title 9router before 0.4.60 Remote Code Execution via default password
Weaknesses CWE-78
References
Metrics cvssV3_1

{'score': 9.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.4, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-27T16:19:25.094Z

Reserved: 2026-07-18T12:19:06.903Z

Link: CVE-2026-63732

cve-icon Vulnrichment

Updated: 2026-07-27T16:14:48.763Z

cve-icon NVD

Status : Deferred

Published: 2026-07-23T22:16:53.023

Modified: 2026-07-28T16:07:15.840

Link: CVE-2026-63732

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T21:00:12Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')