CVE-2026-32723
Medium · 4.7CVSS
4.7
EPSS
0.1%
Published
Mar 18, 2026
CISA due date
—
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | @nyariv/sandboxjs | 0 | 0.8.35 |
Related vulnerabilities
- GHSA-7p5m-xrh7-769r SandboxJS has an execution-quota bypass (cross-sandbox currentTicks race) in SandboxJS… Same vulnerability
- CVE-2026-43898 SandboxJS is a JavaScript sandboxing library. Also affects @nyariv/sandboxjs
- GHSA-g8f2-4f4f-5jqw SandboxJS has a sandbox escape via Function.caller leakage of internal call op Also affects @nyariv/sandboxjs
- CVE-2026-34208 SandboxJS is a JavaScript sandboxing library. Also affects @nyariv/sandboxjs
- CVE-2026-34217 SandboxJS is a JavaScript sandboxing library. Also affects @nyariv/sandboxjs
- CVE-2026-34211 SandboxJS is a JavaScript sandboxing library. Also affects @nyariv/sandboxjs
- GHSA-hg73-4w7g-q96w SandboxJS: Sandbox Escape via Prop Object Leak in New Handler Also affects @nyariv/sandboxjs
- GHSA-8pfc-jjgw-6g26 SandboxJS: Stack overflow DoS via deeply nested expressions in recursive descent parser Also affects @nyariv/sandboxjs