RCE in Patriksimek Vm2
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.
Vulnerability class: RCE (Remote Code Execution)
Published · last modified .
CVSS v3 metric
CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
EPSS exploit prediction
EPSS: 0.013 (69.0th percentile), scored .
Low probability of exploitation in the next 30 days, but still tracked. 69th percentile — 69.0% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.012 · newest: 0.013 · change: +0.000
Affected products
- Patriksimek Vm2 — versions < 3.10.2
- Vm2 Project
Weakness classification (CWE)
References
- github.com/patriksimek/vm2/security/advisories/GHSA-99p7-6v5w-7xg8 (Exploit, Vendor Advisory)
- github.com/patriksimek/vm2/commit/4b009c2d4b1131c01810c1205e641d614c322a29 (Patch)
- github.com/patriksimek/vm2/releases/tag/v3.10.2 (Product, Release Notes)
Frequently asked questions
- What is CVE-2026-22709?
- CVE-2026-22709 is a critical-severity vulnerability in Patriksimek Vm2, classified under Code Injection. CVSS score: 9.8/10. Published 2026-01-26.
- How severe is CVE-2026-22709?
- Critical severity. CVSS v3 base score is 9.8 out of 10.