CVE-2026-32723: CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in nyariv SandboxJS
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.
AI Analysis
Technical Summary
CVE-2026-32723 is a concurrency-related vulnerability classified under CWE-362 (Race Condition) affecting the SandboxJS library, a tool used to sandbox JavaScript code execution. The root cause lies in the improper synchronization of a global tick state variable (`currentTicks.current`) that is shared across multiple sandbox instances. When timers are scheduled, their string handlers are compiled using this global tick state rather than the sandbox-specific tick object. In environments where multiple sandboxes run concurrently (multi-tenant scenarios), a race condition can occur: between the scheduling of a timer and its execution, another sandbox can overwrite the global tick state. This causes the timer callback to execute under a different sandbox's tick budget, effectively bypassing the original sandbox's execution quota or watchdog timer. This flaw undermines the isolation guarantees of SandboxJS by allowing a sandboxed script to consume more execution time than intended, potentially leading to denial of service or unauthorized code execution beyond imposed limits. The vulnerability affects all versions of SandboxJS prior to 0.8.35, where the issue has been addressed by properly isolating the tick state per sandbox instance. The CVSS 4.0 base score is 4.8 (medium severity), reflecting the local attack vector, low complexity, and limited impact on availability. No known exploits have been reported in the wild as of the publication date.
Potential Impact
The primary impact of this vulnerability is the potential bypass of execution quotas or watchdog timers within SandboxJS environments, which can lead to sandbox escape scenarios or denial of service conditions. In multi-tenant or concurrent sandbox deployments, an attacker controlling one sandbox could manipulate the global tick state to extend their execution time beyond intended limits, potentially exhausting system resources or interfering with other tenants. This undermines the security guarantees of sandboxing, which is critical for safely running untrusted JavaScript code. Organizations relying on SandboxJS for isolating code execution—such as cloud service providers, SaaS platforms, or development tools—may face increased risk of resource exhaustion, degraded service availability, or unauthorized code execution if they use vulnerable versions. Although the vulnerability does not directly allow remote code execution or privilege escalation, the ability to bypass execution quotas can facilitate further attacks or disrupt normal operations.
Mitigation Recommendations
To mitigate this vulnerability, organizations should upgrade all SandboxJS deployments to version 0.8.35 or later, where the global tick state is properly isolated per sandbox instance, eliminating the race condition. For environments where immediate upgrading is not feasible, consider implementing strict process or container isolation between sandbox instances to prevent shared memory or state interference. Additionally, monitor sandbox execution times and resource usage for anomalies that may indicate exploitation attempts. Avoid running multiple sandboxes concurrently in the same process space without proper synchronization mechanisms. Security teams should review their sandboxing architecture to ensure that shared global states are minimized or eliminated. Finally, maintain up-to-date dependency management practices to promptly apply security patches for third-party libraries like SandboxJS.
Affected Countries
United States, Germany, United Kingdom, France, Japan, South Korea, India, Canada, Australia, Netherlands
CVE-2026-32723: CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in nyariv SandboxJS
Description
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.
AI-Powered Analysis
Technical Analysis
CVE-2026-32723 is a concurrency-related vulnerability classified under CWE-362 (Race Condition) affecting the SandboxJS library, a tool used to sandbox JavaScript code execution. The root cause lies in the improper synchronization of a global tick state variable (`currentTicks.current`) that is shared across multiple sandbox instances. When timers are scheduled, their string handlers are compiled using this global tick state rather than the sandbox-specific tick object. In environments where multiple sandboxes run concurrently (multi-tenant scenarios), a race condition can occur: between the scheduling of a timer and its execution, another sandbox can overwrite the global tick state. This causes the timer callback to execute under a different sandbox's tick budget, effectively bypassing the original sandbox's execution quota or watchdog timer. This flaw undermines the isolation guarantees of SandboxJS by allowing a sandboxed script to consume more execution time than intended, potentially leading to denial of service or unauthorized code execution beyond imposed limits. The vulnerability affects all versions of SandboxJS prior to 0.8.35, where the issue has been addressed by properly isolating the tick state per sandbox instance. The CVSS 4.0 base score is 4.8 (medium severity), reflecting the local attack vector, low complexity, and limited impact on availability. No known exploits have been reported in the wild as of the publication date.
Potential Impact
The primary impact of this vulnerability is the potential bypass of execution quotas or watchdog timers within SandboxJS environments, which can lead to sandbox escape scenarios or denial of service conditions. In multi-tenant or concurrent sandbox deployments, an attacker controlling one sandbox could manipulate the global tick state to extend their execution time beyond intended limits, potentially exhausting system resources or interfering with other tenants. This undermines the security guarantees of sandboxing, which is critical for safely running untrusted JavaScript code. Organizations relying on SandboxJS for isolating code execution—such as cloud service providers, SaaS platforms, or development tools—may face increased risk of resource exhaustion, degraded service availability, or unauthorized code execution if they use vulnerable versions. Although the vulnerability does not directly allow remote code execution or privilege escalation, the ability to bypass execution quotas can facilitate further attacks or disrupt normal operations.
Mitigation Recommendations
To mitigate this vulnerability, organizations should upgrade all SandboxJS deployments to version 0.8.35 or later, where the global tick state is properly isolated per sandbox instance, eliminating the race condition. For environments where immediate upgrading is not feasible, consider implementing strict process or container isolation between sandbox instances to prevent shared memory or state interference. Additionally, monitor sandbox execution times and resource usage for anomalies that may indicate exploitation attempts. Avoid running multiple sandboxes concurrently in the same process space without proper synchronization mechanisms. Security teams should review their sandboxing architecture to ensure that shared global states are minimized or eliminated. Finally, maintain up-to-date dependency management practices to promptly apply security patches for third-party libraries like SandboxJS.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-13T15:02:00.625Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69bb1c7a771bdb1749c7cd1b
Added to database: 3/18/2026, 9:43:22 PM
Last enriched: 3/18/2026, 9:57:44 PM
Last updated: 3/19/2026, 3:40:11 AM
Views: 8
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.