CVE-2026-34208
Nyariv Sandboxjs ≤ 0.8.36
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:LSummary
CVE-2026-34208 is a critical-severity Protection Mechanism Failure (CWE-693) 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 at the 44th percentile by exploit likelihood (below the median); 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-34208 affects SandboxJS, an open-source JavaScript sandboxing library, in versions prior to 0.8.36. The vulnerability stems from inadequate protection against indirect mutations of host global objects. While SandboxJS blocks direct assignments to globals like Math.random, attackers can bypass this via an exposed callable constructor path: this.constructor.call(target, attackerObject). Here, this.constructor resolves to the internal SandboxGlobal function, and since Function.prototype.call is permitted, malicious code can arbitrarily write properties into the host environment's global objects.
Any attacker with code execution inside a SandboxJS sandbox can exploit this remotely over a network with low complexity, no privileges, and no user interaction required, as indicated by the CVSS 3.1 score of 10.0 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L). Successful exploitation allows writing arbitrary properties to host global objects, with these mutations persisting across multiple sandbox instances in the same process. This grants high-impact confidentiality and integrity violations, plus low availability impact, potentially enabling privilege escalation, data exfiltration, or corruption of shared state in multi-tenant or sandboxed JavaScript environments.
The GitHub Security Advisory (GHSA-2gg9-6p7w-6cpj) confirms the issue and states that it is fixed in SandboxJS version 0.8.36. Security practitioners should upgrade to 0.8.36 or later, review sandbox usage for exposed constructor paths, and audit applications relying on SandboxJS for isolation in Node.js or browser contexts. The vulnerability maps to CWE-693 (Protection Mechanism Failure) and CWE-915 (Improperly Controlled Modification of Dynamically-Determined Object Attributes).
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-19297
Vulnerability Data
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.36, SandboxJS blocks direct assignment to global objects (for example Math.random = ...), but this protection can be bypassed through an exposed callable constructor path: this.constructor.call(target, attackerObject). Because this.constructor resolves to the…
more
internal SandboxGlobal function and Function.prototype.call is allowed, attacker code can write arbitrary properties into host global objects and persist those mutations across sandbox instances in the same process. This vulnerability is fixed in 0.8.36.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 8 hardening rules · 6 OS baselines
V6.3.3V6.6.3V10.2.2
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.
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.
Secure SDLC practices directly require allow-listing of mutable object attributes and input validation to block mass-assignment flaws.
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.
Secure coding standards explicitly forbid unsafe dynamic attribute assignment and require property allow-lists.
Security testing can detect mass-assignment flaws but does not itself prevent them at runtime.
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 requires input validation and object-property whitelisting that directly mitigates mass-assignment risks.
Application security requirements include explicit rules for allowable object attributes and safe deserialization.
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 (2 rules)
- V-220865 The Windows Remote Management (WinRM) service must not use Basic authentication. prevents CWE-693
- V-220812 Credential Guard must be running on Windows 10 domain-joined systems. prevents CWE-693
Windows 11 (1 rule)
- 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