Description
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, a sandbox escape is possible by shadowing hasOwnProperty on a sandbox object, which disables prototype whitelist enforcement in the property-access path. This permits direct access to __proto__ and other blocked prototype properties, enabling host Object.prototype pollution and persistent cross-sandbox impact. This vulnerability is fixed in 0.8.29.
Published: 2026-02-06
Score: 10 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Sandbox Escape
Action: Apply Patch
AI Analysis

Impact

SandboxJS is a JavaScript sandboxing library. In versions before 0.8.29, an attacker can shadow the hasOwnProperty method on a sandbox instance, disabling the library’s prototype whitelist. This allows direct access to __proto__ and other blocked prototype properties, leading to host Object.prototype pollution that persists across sandbox boundaries and undermines isolation.

Affected Systems

nyariv’s SandboxJS library, all releases prior to 0.8.29, is affected. The library is used in Node.js environments to evaluate untrusted JavaScript code.

Risk and Exploitability

The CVSS score is 10, but the EPSS score is less than 1 %, indicating a very low probability of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires execution within a SandboxJS instance, typically when untrusted code is evaluated. By overriding hasOwnProperty, an attacker can access __proto__ and pollute Object.prototype, affecting all sandboxed code sharing the same host context.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update SandboxJS to version 0.8.29 or later to eliminate the prototype whitelist bypass.
  • Until the update can be applied, reject or sanitize all untrusted code that could be passed to SandboxJS; avoid executing scripts that might overwrite hasOwnProperty.
  • Monitor the application runtime for unexpected changes to Object.prototype and log such events to detect potential exploitation early.

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-jjpw-65fv-8g48 @nyariv/sandboxjs has Sandbox Escape via Prototype Whitelist Bypass and Host Prototype Pollution
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, a sandbox escape is possible by shadowing hasOwnProperty on a sandbox object, which disables prototype whitelist enforcement in the property-access path. This permits direct access to __proto__ and other blocked prototype properties, enabling host Object.prototype pollution and persistent cross-sandbox impact. This vulnerability is fixed in 0.8.29.
Title SandboxJS has a Sandbox Escape via Prototype Whitelist Bypass and Host Prototype Pollution
Weaknesses CWE-74
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:17:19.095Z

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

Link: CVE-2026-25586

cve-icon Vulnrichment

Updated: 2026-02-06T20:17:03.787Z

cve-icon NVD

Status : Analyzed

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

Modified: 2026-02-18T14:32:36.463

Link: CVE-2026-25586

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses