Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify network-exposed Inspector port (TCP 9229)
-
ExploitConnect via WebSocket to Inspector endpoint
-
ExecutionIssue Runtime.evaluate with child_process payload
-
ImpactExecute arbitrary OS commands as developer user
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Hardware binding mechanism
|
| Exploitation Conditions | Exploitation requires two simultaneous conditions: (1) fastify-cli must be invoked with a debug or inspect flag by the developer - this is a non-default, explicit user action and does not affect production deployments that omit the flag; (2) the Node.js Inspector port (default TCP 9229, or a user-specified port that is nonetheless bound broadly) must be network-reachable from the attacker, which does not occur by default on properly firewalled local workstations. The vulnerability is therefore limited to scenarios such as cloud-hosted dev boxes, shared team servers running debug sessions, Docker/container environments with exposed ports, and CI pipelines using debug mode with accessible runners. Standard production deployments of fastify-cli without debug flags are entirely unaffected. No authentication is required against the Inspector once reachable - that is the nature of the Node.js Inspector protocol. |
| Impact | The CVSS 3.1 vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H yields a score of 8.1. The AC:H reflects that exploitation is not trivially achievable against arbitrary targets: the victim must be actively running fastify-cli with a debug flag, and the attacker must have network-level reachability to the Inspector port (typically TCP 9229). In practice this primarily threatens developers running debug sessions on machines that are network-accessible - shared development servers, cloud-hosted dev environments, Docker containers with exposed ports, or CI/CD runners with debug flags left enabled. No public exploit has been identified and the CVE is not in the CISA KEV catalog, reducing urgency for production defenders. However, the impact is maximal once conditions are met: the Inspector protocol requires no credentials and directly yields RCE. SSVC framing: exploitation is 'none' currently but the technical impact is 'total' and the attack is automatable given reachability, making this a genuine priority for teams running fastify-cli in shared or cloud-hosted development environments. The scope (S:U) correctly reflects that compromise stays within the developer's Node.js process, though OS-level lateral movement is trivial from that point. |
| Exploit ScenarioDerived | A developer running 'fastify-cli start --debug' on a cloud-hosted development instance or a Docker container with port 9229 forwarded inadvertently exposes the Node.js Inspector to the internet. An attacker scans for TCP 9229, connects via WebSocket to the Inspector endpoint, and executes a Runtime.evaluate call with a Node.js child_process.exec payload, achieving arbitrary OS command execution as the developer's user account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 08, 2026
Remote code execution is possible in fastify-cli 1.5.0 through 8.0.0 when the Node.js Inspector is activated via a debug flag: the CLI ignores the user-supplied bind address and instead binds the Inspector to an overly broad network interface, exposing it beyond the local loopback. Because the Node.js Inspector protocol (Chrome DevTools Protocol) permits unrestricted JavaScript evaluation, any remote party that can reach the exposed Inspector port gains full code execution on the developer's machine with no authentication required. No public exploit code has been identified at time of analysis, and the EPSS signal is not provided, but the Inspector protocol itself is well-understood and trivially exploitable once the port is reachable.
RemediationAI
Upgrade fastify-cli to version 8.0.1, which correctly passes the user-supplied Inspector bind address through to the Node.js Inspector spawn, limiting the Inspector to the intended loopback or configured interface. The fix and advisory details are available at https://github.com/fastify/fastify-cli/security/advisories/GHSA-88v4-3ph7-r88m. If an immediate upgrade is not possible, the most effective compensating control is to apply host-based or network firewall rules blocking external access to TCP port 9229 (the default Node.js Inspector port) and any other Inspector port in use. Alternatively, avoid using debug flags entirely in any environment with external network exposure. Removing the debug flag eliminates the vulnerable code path completely with no trade-offs. Do not rely solely on the --inspect-brk or --host argument to fastify-cli to restrict exposure until the patch is applied, as those arguments are currently ignored.
Affected VersionsENISA
Affected Packages
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
fastify-cli is the official command-line tool for scaffolding and running Fastify Node.js applications. The affected code path is triggered when the user passes a debug flag (e.g., --debug or --inspect) to fastify-cli; this causes fastify-cli to start the Node.js V8 Inspector. CWE-1327 (Binding to an Unrestricted IP Address) precisely describes the defect: the CLI correctly accepts a bind address argument but then neglects to pass it through when spawning the Inspector, defaulting to 0.0.0.0 or a similarly broad interface. The Node.js Inspector listens on TCP (default port 9229) and exposes a WebSocket endpoint implementing the Chrome DevTools Protocol. That protocol allows callers to evaluate arbitrary JavaScript in the Node.js process context, giving them file-system access, child-process spawning, and full control of the runtime. CPE cpe:2.3:a:fastify-cli:fastify-cli:*:*:*:*:*:*:*:* covers all versions from 1.5.0 to 8.0.0 inclusive.
Know when Node.js 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:H/PR:N/UI:N/S:U/C:H/I:H/A:H
AC:H because exploitation requires simultaneous non-default debug-flag use and attacker network reachability to the Inspector port; all other metrics match full network RCE with no auth.
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
fastify-cli starts the Node.js Inspector when a debug flag is used, but it ignores the explicit bind address the user supplies and binds the Inspector to a broadly reachable address instead of the intended loopback. As a result the debugging interface can be exposed beyond the local machine, and because the Inspector protocol allows arbitrary code evaluation, a remote party that reaches it can achieve remote code execution on the developer's machine. This affects fastify-cli from 1.5.0 up to 8.0.1. Users should upgrade to fastify-cli 8.0.1, which honors the configured Inspector bind address.
Articles & Coverage 2
Technical POC Analysis
Bug class: CWE-1327 (binding to an unrestricted IP address).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Fastify-cli versions 1.5.0 through 8.0.0 expose the Node.js Inspector to the network when debugging is activated, allowing unauthenticated remote code execution on developer machines. Any developer using the debug flag in a networked environment faces complete system compromise and creates supply chain risk, as compromised development machines have access to source code and credentials.
Apply vendor patch.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-72734
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB