CVE-2026-25641
Published: 06 February 2026
Summary
CVE-2026-25641 is a critical-severity Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367) vulnerability in Nyariv Sandboxjs. Its CVSS base score is 10.0 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 6.5th 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 are NIST 800-53 AC-25 (Reference Monitor) and SC-18 (Mobile Code).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Requires confinement of JavaScript mobile code within approved sandbox execution domains to prevent escapes via key coercion and validation mismatches.
Mandates a tamperproof reference monitor for enforcing access controls, directly countering sandbox escapes from inconsistent property key validation.
Requires identification, reporting, and remediation of flaws like the SandboxJS TOCTOU vulnerability by patching to version 0.8.29 or later.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Sandbox escape via TOCTOU key coercion directly enables remote exploitation of the library (T1190/T1203) to achieve arbitrary code execution in the host JS runtime (T1059.007).
NVD Description
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, there is a sandbox escape vulnerability due to a mismatch between the key on which the validation is performed and the key used for accessing properties. Even though the key used…
more
in property accesses is annotated as string, this is never enforced. So, attackers can pass malicious objects that coerce to different string values when used, e.g., one for the time the key is sanitized using hasOwnProperty(key) and a different one for when the key is used for the actual property access. This vulnerability is fixed in 0.8.29.
Deeper analysisAI
CVE-2026-25641 is a sandbox escape vulnerability in SandboxJS, an open-source JavaScript sandboxing library. Versions prior to 0.8.29 are affected due to a mismatch between the key used for validation via hasOwnProperty(key) and the key employed for actual property access. Although property access keys are annotated as strings, this type enforcement is not implemented, enabling attackers to supply malicious objects that coerce to different string values during validation versus access phases. The issue is classified under CWE-367 (Time-of-check Time-of-use (TOCTOU) Race Condition) and carries a CVSS v3.1 base score of 10.0 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H), indicating critical severity.
Remote, unauthenticated attackers can exploit this vulnerability over the network with low complexity and no user interaction required. By providing specially crafted objects to the sandboxed execution environment, attackers bypass security checks, achieving sandbox escape. Successful exploitation grants high-impact access to confidentiality, integrity, and availability, potentially allowing arbitrary code execution within the host JavaScript context.
The vulnerability is addressed in SandboxJS version 0.8.29, as detailed in the project's security advisory (GHSA-7x3h-rm86-3342) and the fixing commit (67cb186c41c78c51464f70405504e8ef0a6e43c3), which resolves the key coercion issue in executor.ts around line 304. Security practitioners should update to 0.8.29 or later and review integrations using SandboxJS for exposure.
Details
- CWE(s)