External risk intelligence

SandboxJS Global Object Mutation Vulnerability.

CVE advisorySeverity: CRITICAL (CVSS 10.0)

CVE-2026-34208

SandboxJS is a JavaScript library designed for integration into Node.js applications to provide sandboxing capabilities. It is not an internet-facing service, appliance, or gateway, but rather a development-time dependency used within custom code. Its exposure is determined by the specific implementation of the host application, and it does not inherently present a public-facing network attack surface.

Nyariv Sandboxjs

before 0.8.36

Halo Surface Signal: 1 out of 5 — much less likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A vulnerability in the SandboxJS JavaScript sandboxing library could allow an attacker to bypass security controls and modify global objects within a Node.js process, potentially persisting those changes across different sandboxes. This could impact the integrity and security of applications utilizing this library.

  • Attacker can alter core application settings.
  • Impacts applications using this JavaScript library.
  • Verify use and exposure in your applications.

Attack Path

How an attacker could exploit the issue

An attacker could compromise a Node.js application that uses SandboxJS by exploiting a flaw in how the library handles direct assignments to global objects. By bypassing the intended protections, an attacker could manipulate global objects and persist these changes, potentially leading to a critical impact.

  • Entry: No authentication or privileges required.
  • Trigger: Attacker's code executes within the sandbox.
  • Risk: Arbitrary code execution and global state corruption.

Live Threat

Current exploitation, exposure, and threat context

SandboxJS, a JavaScript sandboxing library, could allow attackers to modify host global objects. This occurs when an attacker's code exploits a callable constructor path, enabling arbitrary property writes to global objects, and these changes can persist across sandbox instances within the same process when supported by the advisory.

  • Global objects and sandbox state.
  • Malicious code writes arbitrary properties.
  • Persistent mutations across sandbox instances.

Operational Fix

Recommended remediation, mitigation, and detection steps

To address this critical vulnerability in SandboxJS, application owners and platform teams are likely responsible for identifying its presence within their Node.js environments. The first practical step involves discovering all instances of the affected library, confirming exposure and business criticality, and then coordinating remediation efforts.

  • Application owners should own the issue.
  • Verify sandbox usage and reachability first.
  • Plan remediation based on risk and criticality.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is SandboxJS?

SandboxJS is a library used by developers to create isolated environments within Node.js applications. It is designed to run untrusted JavaScript code safely by restricting its ability to modify the host application's environment. It functions as a software dependency, not a standalone server or service.

What does CVE-2026-34208 mean for security?

This vulnerability involves a failure to properly restrict access to global objects, classified under CWE-693 (Protection Mechanism Failure) and CWE-915 (Improperly Controlled Modification of Dynamically-Determined Object Attributes). It allows code inside the sandbox to break out of its constraints, write arbitrary properties, and alter the state of the parent Node.js process.

How is this SandboxJS vulnerability triggered?

An attacker triggers this flaw by executing code within the sandbox that utilizes a specific callable constructor path. This bypasses the library's security checks, allowing the attacker to reach the internal global function. The vulnerability is not triggered by static code or configurations; it requires an environment where malicious or untrusted input is actively executed by the sandbox.

Do I need to worry about this if my app is internal?

Yes, regardless of network location. Halo Surface Signal notes that SandboxJS is a library integrated into custom code, not an internet-facing appliance. Because its security depends on how your application executes untrusted input, the risk exists wherever that untrusted code can be processed, whether the application is internal or internet-facing.

How do I start fixing this issue?

Your first step is to locate all Node.js projects in your environment that include SandboxJS versions earlier than 0.8.36. Once identified, evaluate how your application handles untrusted input within these sandboxes to determine the level of risk. Finally, update the library to version 0.8.36 or later to apply the necessary security controls.

References