Critical SandboxJS Sandbox-Escape Vulnerabilities Enabling Host Code Execution
Multiple critical vulnerabilities in SandboxJS—a JavaScript sandboxing library used to run untrusted code—were disclosed as enabling sandbox escape and arbitrary code execution on the host, with several issues scored CVSS 10.0. Reported flaws include CVE-2026-25520, CVE-2026-25586, CVE-2026-25587, and CVE-2026-25641, described as providing multiple paths to break out of SandboxJS’s isolation guarantees and take over the underlying runtime environment.
Technical details published for CVE-2026-25520 indicate that, prior to SandboxJS 0.8.29, function return values are not wrapped, allowing attackers to use Object.values()/Object.entries() to obtain an array containing the host’s Function constructor (e.g., via Array.prototype.at), which can then be used to execute code outside the sandbox; the issue is fixed in 0.8.29 (with a referenced upstream commit and GitHub Security Advisory). Additional reported escape vectors include manipulation of supposedly safe prototypes (e.g., overwriting Map.prototype.has via a bug in the library’s let implementation) and a host prototype pollution condition tied to unsafe property-checking logic, collectively undermining the library’s core containment model.

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.
CVE-2026-25881 disclosed and fixed in SandboxJS 0.8.31
A separate critical SandboxJS vulnerability, CVE-2026-25881, was disclosed affecting versions prior to 0.8.31. The flaw allowed protected global prototype references to lose their protection marker when placed in arrays, enabling host-side prototype pollution and possible remote code execution; maintainers fixed it in version 0.8.31.
CVE-2026-25520 publicly disclosed as SandboxJS sandbox escape
A public advisory disclosed CVE-2026-25520, a critical SandboxJS flaw caused by unwrapped function return values that let attackers recover the host Function constructor and execute code outside the sandbox. The issue was mapped to SandboxJS versions before 0.8.29 and assigned a high-severity CVSS vector.
SandboxJS fixes four critical sandbox escape flaws in version 0.8.29
SandboxJS released version 0.8.29 to fix four critical vulnerabilities affecting versions 0.8.28 and earlier, including CVE-2026-25520, CVE-2026-25586, CVE-2026-25587, and CVE-2026-25641. The flaws allowed sandbox escape and arbitrary code execution on the host system.
Related entities
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
Sources
3 references tracked. Mallory keeps watching after this page renders.
Sandbox Breakout: Critical SandboxJS Flaw (CVE-2026-25881) Allows Host Takeover
securityonline.info
Open sourceCode Red: 4 Critical SandboxJS Flaws (CVSS 10.0) Allow Host Takeover
securityonline.info
Open sourceCVE-2026-25520 - SandboxJS has a 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.


