Description
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, as Map is in SAFE_PROTOYPES, it's prototype can be obtained via Map.prototype. By overwriting Map.prototype.has the sandbox can be escaped. This vulnerability is fixed in 0.8.29.
Published: 2026-02-06
Score: 10 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary code execution via sandbox escape
Action: Immediate Patch
AI Analysis

Impact

SandboxJS is a JavaScript sandboxing library that protects untrusted code by limiting prototype access. The flaw exists in versions prior to 0.8.29 where Map is marked as a safe prototype and its prototype can be obtained via Map.prototype. Untrusted code can overwrite the has function on this prototype, allowing the sandbox to be breached and arbitrary code to run outside the intended boundary. This results in a complete loss of isolation, giving attackers the ability to read or modify privileged data and execute further malicious code, which compromises confidentiality, integrity, and availability of the host application.

Affected Systems

The product affected is SandboxJS by nyariv, commonly used in Node.js applications. All releases before 0.8.29 are vulnerable; version 0.8.29 and later include the fix. Any application that imports a pre‑0.8.29 build of the library is at risk, regardless of the host platform, provided Node.js is used.

Risk and Exploitability

The CVSS score of 10 denotes critical severity. Although the EPSS score of less than 1% indicates current exploitation activity is low and the vulnerability is not listed in the CISA KEV catalog, the high impact means that any exposure to untrusted JavaScript offers a straightforward attack path. Attackers can trigger the escape simply by redefining Map.prototype.has within the sandboxed context, with no need for additional privileges. Consequently, the risk remains high until the library is updated or mitigated.

Generated by OpenCVE AI on April 17, 2026 at 22:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the SandboxJS library to version 0.8.29 or newer to apply the official fix.
  • If upgrading is not immediately possible, enforce prototype immutability by freezing or sealing the Map prototype before sandbox initialization to prevent overwrite of has.
  • As a temporary measure, restrict the execution of untrusted JavaScript that could reach Map.prototype.has, for example by disabling dynamic code generation features or validating input before sandboxing.

Generated by OpenCVE AI on April 17, 2026 at 22:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-66h4-qj4x-38xp @nyariv/sandboxjs has a Sandbox Escape vulnerability
History

Wed, 18 Feb 2026 14:45:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:nyariv:sandboxjs:*:*:*:*:*:node.js:*:*

Mon, 09 Feb 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Nyariv
Nyariv sandboxjs
Vendors & Products Nyariv
Nyariv sandboxjs

Fri, 06 Feb 2026 21:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 06 Feb 2026 20:00:00 +0000

Type Values Removed Values Added
Description SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, as Map is in SAFE_PROTOYPES, it's prototype can be obtained via Map.prototype. By overwriting Map.prototype.has the sandbox can be escaped. This vulnerability is fixed in 0.8.29.
Title SandboxJS has a Sandbox Escape
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 10, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'}


Subscriptions

Nyariv Sandboxjs
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-02-06T20:19:06.992Z

Reserved: 2026-02-03T01:02:46.715Z

Link: CVE-2026-25587

cve-icon Vulnrichment

Updated: 2026-02-06T20:18:50.761Z

cve-icon NVD

Status : Analyzed

Published: 2026-02-06T20:16:10.930

Modified: 2026-02-18T14:31:17.337

Link: CVE-2026-25587

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-17T22:30:29Z

Weaknesses