CVE-2026-25587 SandboxJS has a Sandbox Escape
Attackers can escape the SandboxJS sandbox by overwriting Map.prototype.has, leading to arbitrary code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-25587?
CVE-2026-25587 is a critical code injection vulnerability in nyariv SandboxJS, published on 6 Feb 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, as Map is in SAFE_PROTOYPES, it's prototype can be obtained via Map.prototype. By overwriting Map.prototype.has the sandbox can be escaped. This vulnerability is fixed in 0.8.29.
Weakness: CWE-94
Which versions are affected by CVE-2026-25587?
2 open source packages ship an affected version, including @nyariv/sandboxjs. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
@nyariv/sandboxjs npm | All versions | 0.8.29 |
@nyariv/sandboxjs npm | All versions | 0.8.29 |
Products include Nyariv Sandboxjs.
How do I fix CVE-2026-25587?
Upgrade @nyariv/sandboxjs to 0.8.29 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-25587 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-25587 exists.
Other vulnerabilities in nyariv SandboxJS
- CVE-2026-43898 SandboxJS: Sandbox escape via Function.caller leakage of internal call op
- CVE-2026-34208 SandboxJS: Sandbox integrity escape
- CVE-2026-26954 SandboxJS has a Sandbox Escape
- CVE-2026-25520 SandboxJS has a Sandbox Escape
- CVE-2026-25586 SandboxJS has a Sandbox Escape via Prototype Whitelist Bypass and Host Prototype Pollution
Sources
Also known as GHSA-66h4-qj4x-38xp.