CVE-2026-32723
published 2026-03-18CVE-2026-32723: 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…
PriorityP419medium4.7CVSS 3.1
AVLACHPRLUINSUCNINAH
EPSS
0.15%
4.4th percentile
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
2 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| nyariv | sandboxjs | < 0.8.35 | 0.8.35 |
| nyariv | sandboxjs | >= 0 < 0.8.35 | 0.8.35 |
CVSS provenance
nvdv3.14.7MEDIUMCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
nvdv4.04.8MEDIUMCVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
SandboxJS has an execution-quota bypass (cross-sandbox currentTicks race) in SandboxJS timers
ghsa·2026-03-16
CVE-2026-32723 [MEDIUM] CWE-362 SandboxJS has an execution-quota bypass (cross-sandbox currentTicks race) in SandboxJS timers
SandboxJS has an execution-quota bypass (cross-sandbox currentTicks race) in SandboxJS timers
## Summary
Assumed repo path is `/Users/zwique/Downloads/SandboxJS-0.8.34` (no `/Users/zwique/Downloads/SandboxJS` found). 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.
**Impact:** execution quota bypass → CPU/resource abuse
---
## Details
- **Affected project:** Sandbox
OSV
SandboxJS has an execution-quota bypass (cross-sandbox currentTicks race) in SandboxJS timers
osv·2026-03-16
CVE-2026-32723 [MEDIUM] SandboxJS has an execution-quota bypass (cross-sandbox currentTicks race) in SandboxJS timers
SandboxJS has an execution-quota bypass (cross-sandbox currentTicks race) in SandboxJS timers
## Summary
Assumed repo path is `/Users/zwique/Downloads/SandboxJS-0.8.34` (no `/Users/zwique/Downloads/SandboxJS` found). 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.
**Impact:** execution quota bypass → CPU/resource abuse
---
## Details
- **Affected project:** Sandbox
No detection rules found.
No public exploits indexed.
2026-03-18
Published