CVE-2026-93606: Protection Mechanism Failure in patriksimek vm2
vm2 versions 3.12.0 and earlier contain a sandbox escape vulnerability in the VM and NodeVM components. The issue arises when a host API returns a host-realm Promise, and the rejection sanitizer fails to properly sanitize rejections from host Promises. This allows sandboxed code to manipulate the Promise constructor's Symbol.species property and trigger unsanitized host object proxies, potentially leading to arbitrary code execution on the host. The vulnerability is fixed in version 3.12.1.
AI Analysis
Technical Summary
The vm2 npm package versions 3.12.0 and earlier have a sandbox escape vulnerability involving the handling of host-realm Promises. The rejection sanitizer in lib/bridge.js only wraps rejection handlers that are functions and applies neutralization only to the sandbox intrinsic Promise.prototype, not to host Promises. This allows sandboxed code to overwrite p.constructor[Symbol.species] on a host Promise and call p.then() without an onRejected handler, causing V8 to throw the raw host rejection value into a closure controlled by the attacker. This bypasses handleException and hostPromiseSanitizeReject, delivering an unsanitized, fully functional bridge proxy of the host object to sandboxed code. If the rejection value is host-pivotable (e.g., the host process object), this can lead to arbitrary code execution on the host. The issue is fixed in vm2 version 3.12.1.
Potential Impact
Successful exploitation allows sandboxed code to escape the vm2 sandbox and execute arbitrary code on the host system by obtaining unsanitized access to host objects through manipulated host Promises. This represents a critical security risk as it breaks the fundamental isolation guarantees of vm2.
Mitigation Recommendations
Upgrade vm2 to version 3.12.1 or later, where this sandbox escape vulnerability is fixed. No other mitigations are indicated by the vendor advisory.
CVE-2026-93606: Protection Mechanism Failure in patriksimek vm2
Description
vm2 versions 3.12.0 and earlier contain a sandbox escape vulnerability in the VM and NodeVM components. The issue arises when a host API returns a host-realm Promise, and the rejection sanitizer fails to properly sanitize rejections from host Promises. This allows sandboxed code to manipulate the Promise constructor's Symbol.species property and trigger unsanitized host object proxies, potentially leading to arbitrary code execution on the host. The vulnerability is fixed in version 3.12.1.
CVSS v4.0
Score 10.0critical
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 vm2 npm package versions 3.12.0 and earlier have a sandbox escape vulnerability involving the handling of host-realm Promises. The rejection sanitizer in lib/bridge.js only wraps rejection handlers that are functions and applies neutralization only to the sandbox intrinsic Promise.prototype, not to host Promises. This allows sandboxed code to overwrite p.constructor[Symbol.species] on a host Promise and call p.then() without an onRejected handler, causing V8 to throw the raw host rejection value into a closure controlled by the attacker. This bypasses handleException and hostPromiseSanitizeReject, delivering an unsanitized, fully functional bridge proxy of the host object to sandboxed code. If the rejection value is host-pivotable (e.g., the host process object), this can lead to arbitrary code execution on the host. The issue is fixed in vm2 version 3.12.1.
Potential Impact
Successful exploitation allows sandboxed code to escape the vm2 sandbox and execute arbitrary code on the host system by obtaining unsanitized access to host objects through manipulated host Promises. This represents a critical security risk as it breaks the fundamental isolation guarantees of vm2.
Mitigation Recommendations
Upgrade vm2 to version 3.12.1 or later, where this sandbox escape vulnerability is fixed. No other mitigations are indicated by the vendor advisory.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-09-18T11:01:45.930Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6aad3d5d55bf5e2cf5100799
Added to database: 09/18/2026, 13:32:13 UTC
Last enriched: 09/18/2026, 13:46:44 UTC
Last updated: 09/18/2026, 16:54:06 UTC
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 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.