CVE-2026-92959: Protection Mechanism Failure in patriksimek vm2
CVE-2026-92959 is a vulnerability in patriksimek vm2 versions before 3.11.8 where the allowAsync: false option is not fully enforced. Although the local Promise.prototype.then is patched to throw an error when async is disallowed, the sandbox's Promise static methods still allow attacker-supplied thenables to schedule asynchronous work. This enables sandboxed code to execute asynchronously after VM.run() or NodeVM.run() has returned, bypassing the configured timeout and continuing execution beyond the host's expected completion time.
AI Analysis
Technical Summary
The vulnerability in vm2 prior to version 3.11.8 arises because the allowAsync: false option does not fully prevent asynchronous execution within the sandbox. While the local Promise.prototype.then method is replaced with a handler that throws an error, the Promise static methods (Promise.resolve, Promise.all, Promise.race, Promise.any, and Promise.allSettled) still process attacker-supplied thenables. Native promise resolution invokes the sandboxed then method asynchronously in a microtask without passing through the patched then, allowing asynchronous code execution to continue after the sandboxed VM's run method has returned. This results in sandboxed scripts being able to schedule work beyond the configured timeout, potentially violating execution constraints.
Potential Impact
Sandboxed code can bypass the intended asynchronous execution restriction and continue running after the host environment believes execution has completed. This can lead to unexpected code execution beyond timeouts, potentially causing resource exhaustion or other unintended side effects in the host environment. The vulnerability does not directly allow privilege escalation or remote code execution outside the sandbox but undermines the sandbox's execution control guarantees.
Mitigation Recommendations
A fix is available in vm2 version 3.11.8 that fully enforces the allowAsync: false option. Users should upgrade to version 3.11.8 or later to remediate this issue. Until patched, users should be aware that asynchronous execution restrictions may not be fully effective and consider additional controls or monitoring as appropriate.
CVE-2026-92959: Protection Mechanism Failure in patriksimek vm2
Description
CVE-2026-92959 is a vulnerability in patriksimek vm2 versions before 3.11.8 where the allowAsync: false option is not fully enforced. Although the local Promise.prototype.then is patched to throw an error when async is disallowed, the sandbox's Promise static methods still allow attacker-supplied thenables to schedule asynchronous work. This enables sandboxed code to execute asynchronously after VM.run() or NodeVM.run() has returned, bypassing the configured timeout and continuing execution beyond the host's expected completion time.
CVSS v4.0
Score 7.1high
Affected software
patriksimek
vm2
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in vm2 prior to version 3.11.8 arises because the allowAsync: false option does not fully prevent asynchronous execution within the sandbox. While the local Promise.prototype.then method is replaced with a handler that throws an error, the Promise static methods (Promise.resolve, Promise.all, Promise.race, Promise.any, and Promise.allSettled) still process attacker-supplied thenables. Native promise resolution invokes the sandboxed then method asynchronously in a microtask without passing through the patched then, allowing asynchronous code execution to continue after the sandboxed VM's run method has returned. This results in sandboxed scripts being able to schedule work beyond the configured timeout, potentially violating execution constraints.
Potential Impact
Sandboxed code can bypass the intended asynchronous execution restriction and continue running after the host environment believes execution has completed. This can lead to unexpected code execution beyond timeouts, potentially causing resource exhaustion or other unintended side effects in the host environment. The vulnerability does not directly allow privilege escalation or remote code execution outside the sandbox but undermines the sandbox's execution control guarantees.
Mitigation Recommendations
A fix is available in vm2 version 3.11.8 that fully enforces the allowAsync: false option. Users should upgrade to version 3.11.8 or later to remediate this issue. Until patched, users should be aware that asynchronous execution restrictions may not be fully effective and consider additional controls or monitoring as appropriate.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-09-17T12:43:31.527Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6aac65c555bf5e2cf5fdf694
Added to database: 09/17/2026, 22:12:21 UTC
Last enriched: 09/17/2026, 22:17:03 UTC
Last updated: 09/18/2026, 00:15:11 UTC
Views: 6
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 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.