Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HSummary
CVE-2026-23830 is a critical-severity Code Injection (CWE-94) vulnerability in Nyariv Sandboxjs. Its CVSS base score is 10.0 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Abuse Elevation Control Mechanism (T1548); ranked in the top 37% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-4 (Information Flow Enforcement) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-23830 is a sandbox escape vulnerability in SandboxJS, a JavaScript sandboxing library, affecting versions prior to 0.8.26. The library replaces the global Function constructor with a safe SandboxFunction version via mappings in utils.ts, but prior to the patch, it omitted mappings for AsyncFunction, GeneratorFunction, and AsyncGeneratorFunction. These constructors are accessible via the .constructor property of instances, such as (async () => {}).constructor. In executor.ts, property access on sandboxed async functions returns the native host AsyncFunction constructor unmapped, enabling attackers to bypass isolation. The vulnerability is associated with CWEs-94 (Code Injection), CWE-693 (Protection Mechanism Failure), and CWE-913 (Improper Isolation).
An unauthenticated attacker (PR:N) with the ability to supply code for execution in a SandboxJS sandbox can exploit this over the network (AV:N) with low complexity (AC:L) and no user interaction (UI:N). By creating an async function within the sandbox and accessing its .constructor, the attacker obtains the host AsyncFunction constructor. This allows creation of a new async function that executes entirely in the global host scope, outside sandbox restrictions, resulting in remote code execution (RCE) with high confidentiality, integrity, and availability impacts (C:H/I:H/A:H) and changed scope (S:C). The CVSS v3.1 base score is 10.0.
SandboxJS version 0.8.26 patches the vulnerability by adding mappings for AsyncFunction, GeneratorFunction, and AsyncGeneratorFunction to the safe-replacement map in utils.ts. Additional details on the fix and advisory are provided in the GitHub security advisory at GHSA-wxhw-j4hc-fmq6 and the patching commit 345aee6566e47979dee5c337b925b141e7f78ccd.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-4897
Vulnerability Data
SandboxJS is a JavaScript sandboxing library. Versions prior to 0.8.26 have a sandbox escape vulnerability due to `AsyncFunction` not being isolated in `SandboxFunction`. The library attempts to sandbox code execution by replacing the global `Function` constructor with a safe, sandboxed…
more
version (`SandboxFunction`). This is handled in `utils.ts` by mapping `Function` to `sandboxFunction` within a map used for lookups. However, before version 0.8.26, the library did not include mappings for `AsyncFunction`, `GeneratorFunction`, and `AsyncGeneratorFunction`. These constructors are not global properties but can be accessed via the `.constructor` property of an instance (e.g., `(async () => {}).constructor`). In `executor.ts`, property access is handled. When code running inside the sandbox accesses `.constructor` on an async function (which the sandbox allows creating), the `executor` retrieves the property value. Since `AsyncFunction` was not in the safe-replacement map, the `executor` returns the actual native host `AsyncFunction` constructor. Constructors for functions in JavaScript (like `Function`, `AsyncFunction`) create functions that execute in the global scope. By obtaining the host `AsyncFunction` constructor, an attacker can create a new async function that executes entirely outside the sandbox context, bypassing all restrictions and gaining full access to the host environment (Remote Code Execution). Version 0.8.26 patches this vulnerability.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 10 hardening rules · 6 OS baselines
V6.3.3V6.6.3V10.2.2V1.3.1
Mitigating Controls (NIST 800-53 r5) AI
AC-3 directly requires enforcement of access authorizations via the protection mechanism itself.
AC-4 mandates use of information flow enforcement mechanisms to control data movement.
SC-2 requires separation of user and system functionality as a protection mechanism.
SC-28 requires protection mechanisms for information at rest.
SC-3 requires isolation of security functions from non-security functions.
SC-7 requires boundary protection mechanisms to monitor and control external communications.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices explicitly include controls that prevent improper handling of dynamic code resources.
Enforcing authentication directly implements a core protection mechanism whose absence or misuse is the CWE.
Defining and enforcing access authorizations is a protection mechanism; proper use prevents the CWE.
Cryptographic and integrity controls are protection mechanisms whose correct deployment mitigates the CWE.
Encryption and integrity protections for transit are explicit protection mechanisms.
Logical network protections are protection mechanisms whose failure matches the CWE.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing can detect dynamic code weaknesses but does not prevent them at design or coding time.
Systematic verification that security mechanisms operate according to defined standards reduces the likelihood that protection mechanisms are bypassed or disabled.
Hardening devices, disabling vulnerable protocols, and maintaining accurate network diagrams reduce the likelihood that a protection mechanism is misconfigured or left in a weak state.
Secure development lifecycle mandates controls on dynamic code generation and resource management.
Application security requirements explicitly address restrictions on dynamic code execution and resource access.
Secure architecture principles require design controls that prevent improper dynamic code resource manipulation.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (2 rules)
- V-248524 OL 8 must implement NIST FIPS-validated cryptography for the following: To provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-693
- V-248525 All OL 8 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at-rest protection. prevents CWE-693
Windows 10 (3 rules)
- V-220865 The Windows Remote Management (WinRM) service must not use Basic authentication. prevents CWE-693
- V-220726 Data Execution Prevention (DEP) must be configured to at least OptOut. prevents CWE-913
- V-220812 Credential Guard must be running on Windows 10 domain-joined systems. prevents CWE-693
Windows 11 (2 rules)
- V-253283 Data Execution Prevention (DEP) must be configured to at least OptOut. prevents CWE-913
- V-253418 The Windows Remote Management (WinRM) service must not use Basic authentication. prevents CWE-693
Windows Server 2016 (1 rule)
- V-225012 Windows Server 2016 must be running Credential Guard on domain-joined member servers. prevents CWE-693
Windows Server 2019 (1 rule)
- V-205907 Windows Server 2019 must be running Credential Guard on domain-joined member servers. prevents CWE-693
Windows Server 2022 (1 rule)
- V-254441 Windows Server 2022 must be running Credential Guard on domain-joined member servers. prevents CWE-693