Vulnerability Details CVE-2026-22709
vm2 is an open source vm/sandbox for Node.js. In vm2 prior to version 3.10.2, `Promise.prototype.then` `Promise.prototype.catch` callback sanitization can be bypassed. This allows attackers to escape the sandbox and run arbitrary code. In lib/setup-sandbox.js, the callback function of `localPromise.prototype.then` is sanitized, but `globalPromise.prototype.then` is not sanitized. The return value of async functions is `globalPromise` object. Version 3.10.2 fixes the issue.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 23.0%
CVSS Severity
CVSS v3 Score 9.8
Products affected by CVE-2026-22709
-
cpe:2.3:a:vm2_project:vm2:-
-
cpe:2.3:a:vm2_project:vm2:0.1.0
-
cpe:2.3:a:vm2_project:vm2:0.1.1
-
cpe:2.3:a:vm2_project:vm2:0.2.0
-
cpe:2.3:a:vm2_project:vm2:0.2.1
-
cpe:2.3:a:vm2_project:vm2:0.2.2
-
cpe:2.3:a:vm2_project:vm2:0.2.3
-
cpe:2.3:a:vm2_project:vm2:0.2.4
-
cpe:2.3:a:vm2_project:vm2:1.0.0
-
cpe:2.3:a:vm2_project:vm2:1.0.1
-
cpe:2.3:a:vm2_project:vm2:2.0.0
-
cpe:2.3:a:vm2_project:vm2:2.0.2
-
cpe:2.3:a:vm2_project:vm2:3.0.0
-
cpe:2.3:a:vm2_project:vm2:3.0.1
-
cpe:2.3:a:vm2_project:vm2:3.1.0
-
cpe:2.3:a:vm2_project:vm2:3.2.0
-
cpe:2.3:a:vm2_project:vm2:3.3.0
-
cpe:2.3:a:vm2_project:vm2:3.3.1
-
cpe:2.3:a:vm2_project:vm2:3.4.0
-
cpe:2.3:a:vm2_project:vm2:3.4.1
-
cpe:2.3:a:vm2_project:vm2:3.4.3
-
cpe:2.3:a:vm2_project:vm2:3.4.4
-
cpe:2.3:a:vm2_project:vm2:3.4.5
-
cpe:2.3:a:vm2_project:vm2:3.4.6
-
cpe:2.3:a:vm2_project:vm2:3.5.0
-
cpe:2.3:a:vm2_project:vm2:3.5.1
-
cpe:2.3:a:vm2_project:vm2:3.5.2
-
cpe:2.3:a:vm2_project:vm2:3.6.0
-
cpe:2.3:a:vm2_project:vm2:3.6.1
-
cpe:2.3:a:vm2_project:vm2:3.6.10
-
cpe:2.3:a:vm2_project:vm2:3.6.11
-
cpe:2.3:a:vm2_project:vm2:3.6.2
-
cpe:2.3:a:vm2_project:vm2:3.6.3
-
cpe:2.3:a:vm2_project:vm2:3.6.4
-
cpe:2.3:a:vm2_project:vm2:3.6.5
-
cpe:2.3:a:vm2_project:vm2:3.6.6
-
cpe:2.3:a:vm2_project:vm2:3.6.7
-
cpe:2.3:a:vm2_project:vm2:3.6.8
-
cpe:2.3:a:vm2_project:vm2:3.6.9
-
cpe:2.3:a:vm2_project:vm2:3.7.0
-
cpe:2.3:a:vm2_project:vm2:3.8.0
-
cpe:2.3:a:vm2_project:vm2:3.8.1
-
cpe:2.3:a:vm2_project:vm2:3.8.2
-
cpe:2.3:a:vm2_project:vm2:3.8.3
-
cpe:2.3:a:vm2_project:vm2:3.8.4
-
cpe:2.3:a:vm2_project:vm2:3.9.0
-
cpe:2.3:a:vm2_project:vm2:3.9.1
-
cpe:2.3:a:vm2_project:vm2:3.9.10
-
cpe:2.3:a:vm2_project:vm2:3.9.11
-
cpe:2.3:a:vm2_project:vm2:3.9.12
-
cpe:2.3:a:vm2_project:vm2:3.9.13
-
cpe:2.3:a:vm2_project:vm2:3.9.14
-
cpe:2.3:a:vm2_project:vm2:3.9.15
-
cpe:2.3:a:vm2_project:vm2:3.9.16
-
cpe:2.3:a:vm2_project:vm2:3.9.17
-
cpe:2.3:a:vm2_project:vm2:3.9.18
-
cpe:2.3:a:vm2_project:vm2:3.9.19
-
cpe:2.3:a:vm2_project:vm2:3.9.2
-
cpe:2.3:a:vm2_project:vm2:3.9.3
-
cpe:2.3:a:vm2_project:vm2:3.9.4
-
cpe:2.3:a:vm2_project:vm2:3.9.5
-
cpe:2.3:a:vm2_project:vm2:3.9.6
-
cpe:2.3:a:vm2_project:vm2:3.9.7
-
cpe:2.3:a:vm2_project:vm2:3.9.8
-
cpe:2.3:a:vm2_project:vm2:3.9.9