Skip to main content

BrowserStack Runner CVE-2026-49143

| EUVDEUVD-2026-34029 HIGH
Code Injection (CWE-94)
2026-06-02 VulnCheck GHSA-6vr3-7wcx-v5g5
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Gain adjacent network access to victim host
  2. Delivery
    Discover BrowserStack Runner /_log port
  3. Exploit
    Send crafted JSON to /_log handler
  4. Install
    Trigger vm.runInNewContext with eval payload
  5. C2
    Escape sandbox via this.constructor.constructor
  6. Execute
    Execute arbitrary code as runner user
  7. Impact
    Exfiltrate 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.

Monitor Track and reassess. Why: Vendor states no customer action required.
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

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

browserstack-runner 0 ≤0.9.5

Affected Packages

npm browserstack-runner no fix

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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

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

Lifecycle Timeline

1
CVSS changed
Jun 02, 2026 - 21:22 NVD
8.8 (HIGH) 8.7 (HIGH)

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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.2%
Top 65% exploitable
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Social Media
2
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
Vendor states no customer action required
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
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

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.

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