CVE-2026-32723CWE-362

SandboxJS timers have an execution-quota bypass (cross-sandbox currentTicks race)

Medium · published March 18, 2026

CVSS v4.0
4.8
EPSS
0%
Percentile
2.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v4.0
4.8 · MEDIUM
Vector
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
EPSS
0.00125 · 2.0th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-03-18T21:27Z
EPSS history
Timeline
  • 18 MAR 21:27Z
    SandboxJS timers have an execution-quota bypass (cross-sandbox currentTicks race)
    cvelistv5