CVE-2026-49143
Deferred Deferred - Pending Action
Remote Code Execution in BrowserStack Runner

Publication date: 2026-06-02

Last updated on: 2026-06-03

Assigner: VulnCheck

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-02
Last Modified
2026-06-03
Generated
2026-06-12
AI Q&A
2026-06-03
EPSS Evaluated
2026-06-11
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
browserstack runner 0.9.5
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-94 The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in BrowserStack Runner versions up to 0.9.5 and involves a remote code execution flaw in the /_log HTTP handler.

An unauthenticated attacker who is network-adjacent can send specially crafted JSON request bodies to this handler.

The vulnerability arises because the handler passes user-supplied data to Node.js's vm.runInNewContext() combined with eval(), allowing attackers to escape the sandbox.

By leveraging a host-context Function reference through util.format, attackers can access the host process via this.constructor.constructor, achieving full remote code execution on the underlying system without any authentication.

Impact Analysis

This vulnerability allows an attacker to execute arbitrary code remotely on the affected system without any authentication.

Such remote code execution can lead to complete compromise of the underlying system, including unauthorized access, data theft, system manipulation, or disruption of services.

Compliance Impact

This vulnerability allows unauthenticated remote code execution on the host system, potentially leading to unauthorized access, modification, or exfiltration of sensitive data.

Such unauthorized access and control over the system could result in violations of common data protection standards and regulations like GDPR and HIPAA, which require strict controls to protect personal and health information.

Exploitation of this vulnerability could lead to data breaches or loss of data integrity, thereby impacting compliance with these regulations.

Detection Guidance

This vulnerability can be detected by monitoring for suspicious POST requests to the /_log HTTP handler on the server running BrowserStack Runner (typically on port 8888 or a configurable port). Specifically, crafted JSON request bodies that attempt to exploit the vm.runInNewContext() and eval() usage may indicate an attack.

You can use network monitoring or packet capture tools to detect such requests. For example, using tcpdump or Wireshark to filter HTTP POST requests to port 8888:

  • tcpdump -i <interface> 'tcp dst port 8888 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

Additionally, inspecting server logs for unauthenticated POST requests to /_log containing suspicious JSON payloads with references to 'this.constructor.constructor' or 'util.format' can help identify exploitation attempts.

No specific detection commands are provided in the resources, but monitoring for these indicators on the network and application logs is recommended.

Mitigation Strategies

Immediate mitigation steps include:

  • Remove the use of eval() and vm.runInNewContext() from the /_log HTTP handler to prevent execution of arbitrary code.
  • Add UUID-based authentication to the /_log handler to match the security of other handlers, preventing unauthenticated access.
  • Bind the HTTP server to the localhost interface (127.0.0.1) instead of all interfaces (0.0.0.0) to restrict access to local processes only.

These steps reduce the attack surface and prevent remote unauthenticated attackers from exploiting the vulnerability.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-49143. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart