Vulnerability record · CVE-2026-22709 · published 26 January 2026
CVE-2026-22709: Vm2 project vm2 code injection vulnerability
Vm2 Project · Vm2
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.
Description
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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Affected products
1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| https://github.com/patriksimek/vm2/commit/4b009c2d4b1131c01810c1205e641d614c322a29 | Patch |
| https://github.com/patriksimek/vm2/releases/tag/v3.10.2 | ProductRelease Notes |
| https://github.com/patriksimek/vm2/security/advisories/GHSA-99p7-6v5w-7xg8 | ExploitVendor Advisory |
Track CVE-2026-22709 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2026-22709), CISA KEV, FIRST EPSS (scores of 2026-09-27). This page is refreshed as NVD updates the record.