High severity · published Sep 17, 2026
CVE-2026-92959
vm2 before 3.11.8 allowAsync Bypass via Promise Thenable
7.1
CVSS
0.4%
EPSS
No
On KEV
Description
vm2 before 3.11.8 does not fully enforce the allowAsync: false option in VM and NodeVM. While localPromise.prototype.then is replaced with a handler that throws 'Async not available', the sandbox's Promise static methods (Promise.resolve, Promise.all, Promise.race, Promise.any, and Promise.allSettled) still assimilate attacker-supplied thenables: native promise resolution performs PromiseResolveThenableJob and invokes the sandboxed code's then method in a microtask without passing through the patched then, so the async restriction is never applied. As a result, sandboxed script can schedule work that runs after VM.run() or NodeVM.run() has returned and outside the configured timeout, continuing to execute after the host believes execution is complete.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
None
Integrity
Low
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 39% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
VM
vm2 · patriksimek
before 3.11.8 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-92959
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-92959
github.com
https://github.com/patriksimek/vm2/security/advisories/GHSA-f8gf-w286-fmq2
www.vulncheck.com
https://www.vulncheck.com/advisories/vm2-before-3.11.8-allowasync-bypass-via-promise-thenable
More from vm2
10.0
CVE-2026-93606
vm2 before 3.12.1 Sandbox Escape via Promise Symbol.species
10.0
CVE-2026-93605
vm2 NodeVM before 3.12.1 Remote Code Execution via child_process
10.0
CVE-2026-93603
vm2 before 3.12.1 Sandbox Escape RCE via Non-Strict Host Function
10.0
CVE-2026-92960
vm2 before 3.11.6 Process-wide State Exposure via os and dns
10.0
CVE-2026-92956
vm2 3.10.1 through 3.11.6 Sandbox Escape via WebAssembly.compileStreaming
