SandboxJS is a JavaScript sandboxing library. Prior to 0.8.35, SandboxJS timers have an execution-quota bypass. A global tick state (`currentTicks.current`) is shared between sandboxes. Timer string handlers are compiled at execution time using that global tick state rather than the scheduling sandbox's tick object. In multi-tenant / concurrent sandbox scenarios, another sandbox can overwrite `currentTicks.current` between scheduling and execution, causing the timer callback to run under a different sandbox's tick budget and bypass the original sandbox's execution quota/watchdog. Version 0.8.35 fixes this issue.
References
| Link | Resource |
|---|---|
| https://github.com/nyariv/SandboxJS/commit/cc8f20b4928afed5478d5ad3d1737ef2dcfaac29 | Patch |
| https://github.com/nyariv/SandboxJS/security/advisories/GHSA-7p5m-xrh7-769r | Exploit Vendor Advisory |
Configurations
History
No history.
Information
Published : 2026-03-18 22:16
Updated : 2026-03-19 19:20
NVD link : CVE-2026-32723
Mitre link : CVE-2026-32723
CVE.ORG link : CVE-2026-32723
JSON object : View
Products Affected
nyariv
- sandboxjs
CWE
CWE-362
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
