Description
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.31, a sandbox escape vulnerability allows sandboxed code to mutate host built-in prototypes by laundering the isGlobal protection flag through array literal intermediaries. When a global prototype reference (e.g., Map.prototype, Set.prototype) is placed into an array and retrieved, the isGlobal taint is stripped, permitting direct prototype mutation from within the sandbox. This results in persistent host-side prototype pollution and may enable RCE in applications that use polluted properties in sensitive sinks (example gadget: execSync(obj.cmd)). This vulnerability is fixed in 0.8.31.
Published: 2026-02-09
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Prototype pollution with potential remote code execution
Action: Immediate patch
AI Analysis

Impact

SandboxJS, a JavaScript sandboxing library, contained a flaw that allowed sandboxed code to mutate host built‑in prototypes. By placing a global prototype reference into an array and retrieving it, the library stripped a protection flag, enabling direct prototype modification from within the sandbox. This persistent host‑side prototype pollution is a case of CWE‑1321 and can lead to remote code execution if polluted properties are used in sensitive sinks such as execSync. The CVSS score of 9.1 indicates a high severity, emphasizing the seriousness of this issue. EPSS scoring below 1% suggests a low current exploitation probability, and the vulnerability is not yet listed in CISA’s KEV catalog.

Affected Systems

The affected product is nyariv SandboxJS running on Node.js. Versions prior to 0.8.31 are vulnerable. Upgrades to 0.8.31 or later contain the fix and are recommended for all installations that rely on sandbox protection.

Risk and Exploitability

The vulnerability can be exploited by an attacker who can execute code within the sandbox environment, such as a malicious module or user‑supplied script. Through array intermediaries, the attacker can reach and alter built‑in prototypes that persist beyond the sandbox boundaries, potentially exposing the host application to code execution attacks if those polluted properties influence privileged operations. Although the exploitation probability is low at present, the high CVSS score and the nature of prototype pollution warrant swift remedial action.

Generated by OpenCVE AI on April 18, 2026 at 12:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update SandboxJS to version 0.8.31 or later to eliminate prototype pollution
  • Sanitize or avoid using prototype properties in sensitive operations such as execSync to prevent exploitation if a downgrade is unavoidable
  • Review application logic for unsafe usage of prototype properties in privileged API calls such as execSync or eval

Generated by OpenCVE AI on April 18, 2026 at 12:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-ww7g-4gwx-m7wj @nyariv/sandboxjs has host prototype pollution from sandbox via array intermediary (sandbox escape)
History

Wed, 18 Feb 2026 18:15:00 +0000

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

Tue, 10 Feb 2026 16:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 10 Feb 2026 12:45:00 +0000

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

Mon, 09 Feb 2026 21:30:00 +0000

Type Values Removed Values Added
Description SandboxJS is a JavaScript sandboxing library. Prior to 0.8.31, a sandbox escape vulnerability allows sandboxed code to mutate host built-in prototypes by laundering the isGlobal protection flag through array literal intermediaries. When a global prototype reference (e.g., Map.prototype, Set.prototype) is placed into an array and retrieved, the isGlobal taint is stripped, permitting direct prototype mutation from within the sandbox. This results in persistent host-side prototype pollution and may enable RCE in applications that use polluted properties in sensitive sinks (example gadget: execSync(obj.cmd)). This vulnerability is fixed in 0.8.31.
Title @nyariv/sandboxjs has host prototype pollution from sandbox via array intermediary (sandbox escape)
Weaknesses CWE-1321
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:H/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-10T15:58:08.474Z

Reserved: 2026-02-06T21:08:39.129Z

Link: CVE-2026-25881

cve-icon Vulnrichment

Updated: 2026-02-10T15:32:05.641Z

cve-icon NVD

Status : Analyzed

Published: 2026-02-09T22:16:03.423

Modified: 2026-02-18T18:07:12.937

Link: CVE-2026-25881

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T13:00:08Z

Weaknesses