Executive Summary
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.36, SandboxJS blocks direct assignment to global objects (for example Math.random = ...), but this protection can be bypassed through an exposed callable constructor path: this.constructor.call(target, attackerObject). Because this.constructor resolves to the internal SandboxGlobal function and Function.prototype.call is allowed, attacker code can write arbitrary properties into host global objects and persist those mutations across sandbox instances in the same process. This vulnerability is fixed in 0.8.36.
Quantitative Risk Analysis
Attack Vector Profile
The payload vectors broken down by magnitude impact and ease-of-deployment factor mapping.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:LWhat This Means For Your System
Each point below is derived directly from this CVE's CVSS v3.1 vector — not editorial opinion.
Exploitable remotely over the internet — no physical or local access needed.
No special preconditions — the attack is reliably repeatable.
No authentication required — unauthenticated attackers can exploit directly.
No user interaction required — the attacker acts autonomously.
Successful exploitation causes: full data confidentiality breach, complete integrity compromise, partial service degradation, potentially cascading beyond the vulnerable component.
OsVault Risk Score Methodology
The OsVault composite score is a 5-layer non-linear engine — not a simple weighted average. Each input signal is transformed through mathematically appropriate curves before blending, ensuring that exploitability context overrides raw severity when warranted.
Layer 1 (Technical): CVSS is mapped through a piecewise exponential curve with 4 bands (LOW 0–20, MEDIUM 20–55, HIGH 55–85, CRITICAL 85–100), then multiplied by full CVSS vector decomposition factors for Attack Vector, Complexity, Privileges, and User Interaction.
Layer 2 (Threat): Raw EPSS is passed through a logistic sigmoid (k=40, midpoint=0.05) to maximize discrimination in the decision-relevant range. The result is added to an exploit maturity tier base score (Weaponized: 85, Functional: 55, PoC: 40, Unproven: 18).
Layer 3 (KEV Floor):Any CVE in CISA's catalog receives a hard minimum of 93.0 (Functional) or 97.0 (Weaponized). This ensures confirmed exploitation is never buried by low CVSS scores.
Scores ≥70: patch immediately. 40–69: schedule within current sprint. Below 40: standard maintenance cycle.
Remediation Commands
Commands to update each affected package identified in this advisory. Verify the target release explicitly addresses this CVE in the upstream changelog before deploying to production.
npm install @nyariv/sandboxjs@latestAffected Software Subcomponents
CPE Identifiers
Common Platform Enumeration (CPE) names mapped to this advisory by the National Vulnerability Database.
cpe:2.3:a:nyariv:sandboxjs:*:*:*:*:*:node.js:*:*