Skip to main content
← All vulnerabilities
CVE-2026-32723GHSA-7P5M-XRH7-769R

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.8.35
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • nyariv SandboxJS

    fixed in 0.8.35

  • @nyariv/sandboxjsnpm

    fixed in 0.8.35

References 2

GitHub · nyariv/SandboxJS