CVE-2026-23830
Sandbox Escape in SandboxJS Pre-0.8.26 Enables RCE
Publication date: 2026-01-28
Last updated on: 2026-02-12
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| nyariv | sandboxjs | to 0.8.26 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-913 | The product does not properly restrict reading from or writing to dynamically-managed code resources such as variables, objects, classes, attributes, functions, or executable instructions or statements. |
| CWE-94 | The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment. |
| CWE-693 | The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
SandboxJS versions prior to 0.8.26 have a sandbox escape vulnerability because the AsyncFunction constructor was not replaced with a safe sandboxed version. The library replaces the global Function constructor with a sandboxed version to isolate code execution, but it missed AsyncFunction and other related constructors. Attackers can access the native AsyncFunction constructor via the .constructor property of an async function inside the sandbox, allowing them to create new async functions that execute outside the sandbox. This bypasses all sandbox restrictions and enables remote code execution in the host environment.
How can this vulnerability impact me? :
This vulnerability allows an attacker to escape the sandbox environment and execute arbitrary code with the privileges of the host environment. This can lead to full remote code execution, compromising the security and integrity of the system running SandboxJS, potentially allowing data theft, system manipulation, or further attacks.
What immediate steps should I take to mitigate this vulnerability?
Upgrade SandboxJS to version 0.8.26 or later, as this version patches the sandbox escape vulnerability by properly isolating AsyncFunction and related constructors.