Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain adjacent network access to victim host
-
DeliveryDiscover BrowserStack Runner /_log port
-
ExploitSend crafted JSON to /_log handler
-
InstallTrigger vm.runInNewContext with eval payload
-
C2Escape sandbox via this.constructor.constructor
-
ExecuteExecute arbitrary code as runner user
-
ImpactExfiltrate credentials and source code
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The victim must be running BrowserStack Runner 0.9.5 or earlier with its local HTTP server listening on a network interface reachable to the attacker - the CVSS AV:A constraint means the attacker must be on the same Layer-2 / adjacent network segment (same VLAN, Wi-Fi, or virtual subnet), not arbitrary internet routes. No authentication, no user interaction, and no special configuration toggles are required: the vulnerable /_log handler and its vm.runInNewContext()+eval() code path are present in the default runtime. Exploitation is limited where the runner is bound to 127.0.0.1 only, where a host firewall blocks the listening port from non-loopback sources, or where the host is on an isolated developer network with no untrusted peers. |
| Impact | The CVSS 3.1 vector AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H indicates adjacent-network reachability, low complexity, no authentication, no user interaction, and full CIA impact - a serious profile mitigated only by the AV:A (adjacent) scope, meaning the attacker must be on the same broadcast/L2 segment or able to reach the local listening port. EPSS, KEV status, and SSVC decision data were not provided in the input, so probabilistic exploitation likelihood and CISA prioritization signals cannot be cross-referenced. No public exploit identified at time of analysis, but the underlying vm-sandbox-escape pattern (this.constructor.constructor) is extremely well-known in the Node.js security community, so weaponization difficulty is low for any motivated attacker. Real-world risk is highest in shared developer environments, CI runners, and corporate LANs where the BrowserStack Runner port is reachable from coworker or guest networks; risk is lower for individual developers running it bound to localhost only - though the CVSS AV:A rating suggests the maintainers consider non-loopback exposure realistic. |
| Exploit ScenarioDerived | An attacker on the same office LAN, coffee-shop Wi-Fi, or co-tenant cloud subnet as a developer running BrowserStack Runner sends a single crafted POST to the /_log endpoint with a JSON payload designed to traverse this.constructor.constructor via util.format. The payload escapes the Node.js vm sandbox and executes arbitrary commands as the developer's user, allowing the attacker to exfiltrate source code, SSH keys, cloud credentials, and BrowserStack API tokens from the host. No public exploit identified at time of analysis, but the sandbox-escape primitive is well-documented and requires only basic Node.js knowledge to weaponize. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 02, 2026
Remote code execution in BrowserStack Runner through version 0.9.5 allows network-adjacent unauthenticated attackers to execute arbitrary code on the host system by sending crafted JSON to the /_log HTTP handler. The flaw stems from unsafe use of vm.runInNewContext() combined with eval(), and a known sandbox-escape technique via util.format and this.constructor.constructor enables full host compromise. No public exploit identified at time of analysis, but the technique is well-documented and the CVSS 8.8 score reflects high impact across confidentiality, integrity, and availability.
RemediationAI
Upgrade to a fixed release of BrowserStack Runner as published in GHSA-6vr3-7wcx-v5g5 at https://github.com/browserstack/browserstack-runner/security/advisories/GHSA-6vr3-7wcx-v5g5; a specific fixed version is not explicitly stated in the provided data, so consult the GHSA advisory for the exact patched version (patch available per vendor advisory). Until upgraded, bind the runner's HTTP listener to 127.0.0.1 only rather than 0.0.0.0 or a routable interface to eliminate adjacent-network reachability - this is the highest-value compensating control and has no functional cost for typical local development workflows. Where binding cannot be restricted, use a host-based firewall rule to block inbound traffic to the BrowserStack Runner port from all addresses except loopback, and avoid running BrowserStack Runner on shared CI hosts, jump boxes, or systems on untrusted Wi-Fi/guest VLANs. As a defense-in-depth measure, run the process under a non-privileged service account so post-exploit impact is limited to that user's permissions; note this does not prevent compromise of source code, secrets, or session tokens accessible to that account.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
BrowserStack Runner is a Node.js-based local test runner that bridges JavaScript test suites with the BrowserStack cloud browser grid, exposing a local HTTP server to capture test telemetry. The vulnerability is a classic CWE-94 (Improper Control of Generation of Code) issue: the /_log endpoint passes user-supplied JSON body content into Node.js vm.runInNewContext() and further evaluates it with eval(). Although Node's vm module is frequently mistaken for a security boundary, it is not - by reaching a Function constructor through a host-context object (here via util.format leaking a host reference, then traversing this.constructor.constructor), an attacker can synthesize a function compiled in the outer (host) realm and obtain arbitrary code execution outside the sandbox. The affected CPE is cpe:2.3:a:browserstack:browserstack-runner:*:*:*:*:*:*:*:* covering all versions up to and including 0.9.5.
Know when Browserstack Runner 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:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Primary rating from Vendor (VulnCheck) · only source for this CVE.
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
BrowserStack Runner through 0.9.5 contains a remote code execution vulnerability in the /_log HTTP handler that allows unauthenticated network-adjacent attackers to execute arbitrary code by submitting crafted JSON request bodies to the handler, which passes user-supplied data to vm.runInNewContext() combined with eval(). Attackers can escape the Node.js vm sandbox by leveraging a host-context Function reference through util.format to access the host process via this.constructor.constructor, achieving full remote code execution on the underlying system without any authentication.
Executive ViewAI
BrowserStack Runner versions through 0.9.5 contain a remote code execution vulnerability that allows unauthenticated attackers with network access to execute arbitrary code on affected systems. With no vendor-released patch identified at time of analysis and no authentication required for exploitation, any organization running this testing tool faces immediate risk of complete system compromise across confidentiality, integrity, and availability. Remediation requires discontinuation, strict network isolation, or rapid migration to alternative testing solutions.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement network segmentation isolating BrowserStack Runner systems from production and external access; (2) Restrict inbound connections to authorized test engineers and CI/CD systems only; (3) Monitor the /_log endpoint for suspicious JSON payloads and block malicious requests; (4) Disable remote access to the tool if testing can operate in local-only mode; (5) Accelerate evaluation and migration to alternative browser testing frameworks that do not contain this vulnerability.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-34029
GHSA-6vr3-7wcx-v5g5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB