SandboxJS Sandbox Escape via Host Prototype Pollution (CVE-2026-25881)
CVE-2026-25881 is a critical sandbox-escape flaw in SandboxJS (@nyariv/sandboxjs) that allows sandboxed JavaScript to mutate host built-in prototypes (e.g., Map.prototype, Set.prototype) and cause persistent host-side prototype pollution. The issue stems from SandboxJS’s isGlobal protection mechanism: when a global prototype reference is placed into an array literal and then retrieved, the isGlobal “taint” is stripped, enabling direct prototype mutation from within the sandbox. The vulnerability affects versions prior to 0.8.31 and is fixed in 0.8.31; CVSS v3.1 is reported as AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H and the weakness is mapped to CWE-1321.
Public reporting indicates a working proof-of-concept (PoC) is available demonstrating multiple exploitation scenarios, including adding attacker-controlled properties to host prototypes and overwriting built-in functions. While the sandbox escape itself is the core impact, remote code execution is application-dependent: if the host application later uses polluted properties in sensitive sinks (example gadget: execSync(obj.cmd)), an attacker can potentially execute system commands (e.g., id). Organizations using SandboxJS to run untrusted code should prioritize upgrading to 0.8.31 and review host code paths for dangerous use of object properties that could be influenced via prototype pollution.

Get ahead of threats like this
Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
How this story unfolded
3 events from the most recent confirmed update back to the earliest known activity.
Researcher publishes PoC for SandboxJS host takeover scenarios
A researcher identified as k14uz released a working proof of concept showing persistent prototype modification, overwriting built-ins, and command execution when polluted properties are later used by the host. The PoC publicized practical exploitation paths for CVE-2026-25881.
SandboxJS 0.8.31 released to fix CVE-2026-25881
The issue was fixed in SandboxJS version 0.8.31, with upstream references including a security advisory and a fixing commit. Users were advised to upgrade from affected versions up to 0.8.30.
SandboxJS prototype pollution sandbox escape is disclosed as CVE-2026-25881
A vulnerability affecting SandboxJS versions before 0.8.31 was disclosed as CVE-2026-25881. The flaw allows sandboxed code to mutate host built-in prototypes through an array intermediary, creating persistent host-side prototype pollution and possible remote code execution in vulnerable host applications.
Related entities
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
Sources
2 references tracked. Mallory keeps watching after this page renders.
Critical SandboxJS Vulnerability Allows Remote Host Takeover - PoC Released
cybersecuritynews.com
Open sourceCVE-2026-25881 - @nyariv/sandboxjs has host prototype pollution from sandbox via array intermediary (sandbox escape)
cvefeed.io
Open sourceSee the full picture, correlated to your attack surface.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.


