Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify network-reachable CRA dev server on macOS
-
DeliverySend crafted request triggering startBrowserProcess
-
ExploitInject OS commands via unsanitized browser parameter
-
ExecutionExecute arbitrary commands as developer user
-
ImpactExfiltrate secrets or establish persistence
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 | The target machine must be running macOS with create-react-app version 5.0.1 or earlier. The react-dev-utils dev server must be active (i.e., the developer has run npm start or equivalent). The dev server must be reachable from a network-accessible interface - the default CRA configuration may bind to 0.0.0.0, making it network-accessible. The startBrowserProcess function in openBrowser.js must be invokable via a network path, either at dev server startup or through a specific request that triggers the browser-open code path. Exploitation is limited to macOS - the shell metacharacter behavior or the specific process-spawn mechanism appears platform-dependent per the Apple tag. No authentication is required against the dev server itself, which has no built-in auth layer. Exploitation does NOT require the developer to interact with any browser or UI once the server is running. |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) characterizes this as a zero-complexity, unauthenticated, network-exploitable vulnerability - the most dangerous access profile. However, the CIA impact metrics (VC:L/VI:L/VA:L) appear significantly underscored for an OS command injection flaw, which practically enables full code execution under the developer's account. This discrepancy between the high-severity access vector and the low-impact metrics warrants verification; a CWE-78 flaw should typically carry H/H/H CIA in the vulnerable system when it reaches arbitrary command execution. The EPSS score is not provided in the input data - this represents a gap in probabilistic exploitation likelihood. A public proof-of-concept exploit exists (E:P in the CVSS 4.0 supplemental), which meaningfully raises real-world risk. There is no KEV listing, so mass exploitation is not confirmed, but the combination of public PoC, no patch, and an archived/unresponsive project creates a durable unpatched window. The most significant risk amplifier is that create-react-app dev servers commonly bind to all network interfaces and lack authentication, making any developer workstation reachable from a local network or exposed to the internet a viable target. |
| Exploit ScenarioDerived | A developer running create-react-app's dev server on macOS on a local network with the server bound to a non-loopback interface receives a crafted network request that triggers the startBrowserProcess function with injected shell metacharacters in a browser-path or URL parameter. The unsanitized input is passed directly to a shell execution context in openBrowser.js, causing arbitrary OS commands to execute under the developer's account - potentially exfiltrating .env secrets, SSH keys, or establishing a reverse shell. A public proof-of-concept is available at the GitHub issue tracker referenced in the CVE. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 06, 2026
OS command injection in create-react-app's react-dev-utils component enables remote code execution on macOS developer workstations running version 5.0.1 or earlier. The vulnerability resides in the startBrowserProcess function of openBrowser.js, which processes unsanitized input that reaches a shell invocation. A publicly available proof-of-concept exploit exists via the project's GitHub issue tracker; no vendor patch has been released and the maintainers have not responded to disclosure, leaving the entire supported version history of this widely-used but now-archived tool permanently unpatched.
RemediationAI
No vendor-released patch has been identified at time of analysis - the project maintainers have not responded to the disclosed issue (https://github.com/react/create-react-app/issues/17269). The primary recommended remediation is migration away from create-react-app to an actively maintained alternative such as Vite or Next.js, which eliminates exposure entirely. For teams unable to migrate immediately, restrict the create-react-app dev server to the loopback interface (127.0.0.1) only, preventing network-based exploitation; this can be enforced via HOST=127.0.0.1 in the project's .env file (trade-off: breaks dev access from other machines on the network). Additionally, ensure dev servers are never exposed to untrusted networks or the public internet, and audit firewall rules to block access to the default port 3000 from external interfaces. Setting BROWSER=none in the environment disables the browser-launch functionality entirely and eliminates the vulnerable code path, at the cost of losing automatic browser-open behavior on dev server start.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
create-react-app (CPE: cpe:2.3:a:react:create-react-app:*:*:*:*:*:*:*:*) bundles react-dev-utils, a helper library that manages the development server lifecycle. The openBrowser.js module's startBrowserProcess function constructs a shell command to launch a browser when the dev server initializes or handles certain requests. CWE-78 (Improper Neutralization of Special Elements used in an OS Command) identifies the root cause: user-controlled or network-influenced data flows into a child_process execution context without adequate sanitization or escaping. On macOS, this is compounded by shell metacharacter interpretation, allowing semicolons, pipes, backticks, or $() substitutions to break out of the intended browser-launch context and execute arbitrary system commands under the developer's user account. The macOS-specific tagging suggests the injection vector or shell behavior is platform-dependent.
Know when React 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
OS command injection enabling arbitrary code execution warrants C:H/I:H/A:H; dev server binds to network with no auth, so AV:N/PR:N/AC:L.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was detected in react create-react-app up to 5.0.1 on macOS. This affects the function startBrowserProcess of the file openBrowser.js of the component react-dev-utils. Performing a manipulation results in os command injection. Remote exploitation of the attack is possible. The exploit is now public and may be used. The project was informed of the problem early through an issue report but has not responded yet.
Blast Radius
ecosystem impact- 24 npm packages depend on react-dev-utils (24 direct, 0 indirect)
Ecosystem-wide dependent count for version 5.0.1.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
React Server Components in React 19.x contain a critical pre-authentication remote code execution vulnerability (CVE-202
Pre-authentication denial of service in React Server Components (versions 19.0.0 through 19.2.1) allows unauthenticated
Information disclosure in React Server Components 19.x, distributed as react-server-dom-webpack, react-server-dom-turbop
react-native-keys version 0.7.11 contains a sensitive information disclosure vulnerability where encryption ciphers and
Unsafe deserialization in React Server Components Server Function endpoints allows remote unauthenticated attackers to t
HTML injection in Preact and React through unsafe JSON deserialization allows remote attackers to inject arbitrary scrip
Reflected XSS in Repostat's RepoCard React component prior to version 1.0.1 allows attackers to execute arbitrary JavaSc
Refine's @refinedev/inferencer package through version 7.0.0 interpolates API field names straight into generated JSX so
Uncontrolled resource consumption in React Server Components (react-server-dom-parcel, react-server-dom-turbopack, react
Simple Membership (WordPress plugin) versions up to 4.7.0 contains a security vulnerability (CVSS 6.5).
React-Router versions up to 6.30.1 is affected by url redirection to untrusted site (open redirect) (CVSS 6.5).
Wekan is an open source kanban tool built with Meteor. [CVSS 6.5 MEDIUM]
EUVD-2026-41815
GHSA-g9g6-gvq9-j4vp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB