JavaScript Sandbox Escaping
This badge covers JavaScript sandbox escape vulnerabilities. From prototype chain navigation and Function constructor abuse to vm module escapes, static-eval bypasses, real-world CVEs, and advanced proxy/interpreter bypass techniques.
Exercises
Coming soon
Medium
PENTESTERLAB
JS Sandbox: n8n Expression Injection (CVE-2026-25049)
- This exercise covers exploiting n8n's dynamic expression evaluation via type confusion and destructuring bypass.
- Takes -- on average
- Node.js
Coming soon
Medium
PENTESTERLAB
JS Sandbox: Prototype Pollution to Sandbox Escape
- This exercise covers a two-step chain: exploiting prototype pollution to weaken the sandbox, then escaping it.
- Takes -- on average
- Node.js
Coming soon
Medium
PENTESTERLAB
JS Sandbox: Template Engine Sandbox Escape
- This exercise covers bypassing template engine expression validation via type manipulation using query string arrays.
- Takes -- on average
- Node.js
Coming soon
Medium
PENTESTERLAB
JS Sandbox: JSONPath Expression Injection (CVE-2026-1615)
- This exercise covers exploiting the jsonpath npm library which internally uses static-eval, via malicious JSONPath filter expressions.
- Takes -- on average
- Node.js
Coming soon
Medium
PENTESTERLAB
JS Sandbox: vm2 Error.prepareStackTrace (CVE-2023-37466)
- This exercise covers exploiting V8's Error.prepareStackTrace which receives unwrapped CallSite objects from the host realm.
- Takes -- on average
- Node.js
Coming soon
Medium
PENTESTERLAB
JS Sandbox: vm2 Host Object Leak via Proxy (CVE-2023-32314)
- This exercise covers exploiting vm2's Proxy wrapping to leak unwrapped host objects for sandbox escape.
- Takes -- on average
- Node.js
Coming soon
Medium
PENTESTERLAB
JS Sandbox: safe-eval Constructor Chain (CVE-2017-16088)
- This exercise covers exploiting the safe-eval library's accessible constructor chain to achieve RCE.
- Takes -- on average
- Node.js
Coming soon
Hard
PENTESTERLAB
JS Sandbox: Custom JS Subset Interpreter
- This exercise covers finding implementation flaws in a custom JS expression evaluator, including missing __proto__ checks and insufficient scope isolation.
- Takes -- on average
- Node.js
Coming soon
Hard
PENTESTERLAB
JS Sandbox: Proxy-Wrapped Sandbox Symbol Hooks
- This exercise covers bypassing a Proxy-wrapped sandbox that blocks constructor, __proto__, and prototype, using Symbol.toPrimitive or type coercion.
- Takes -- on average
- Node.js