CVE Explorer
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.
Known exploited
Not asserted
Disputed
No
Stale source
No
Conflicts
1
Preserved source conflicts
No provider value was silently selected as the winner.
cwe · 3 assertions
{"cweId":"CWE-94","description":"CWE-94: Improper Control of Generation of Code ('Code Injection')","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/problemTypes/0/descriptions/0
{"cweId":"CWE-693","description":"CWE-693: Protection Mechanism Failure","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/problemTypes/2/descriptions/0
{"cweId":"CWE-913","description":"CWE-913: Improper Control of Dynamically-Managed Code Resources","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/problemTypes/1/descriptions/0
Affected products and versions
1 source assertion{"product":"vm2","vendor":"patriksimek","versions":[{"status":"affected","version":"< 3.10.2"}]}
- cve_program_cvelist_v5affectedurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/affected/0
Provider-owned CVSS observations
1 source assertion{"metric":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.8,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"metric_type":"cvssV3_1"}
- cve_program_cvelist_v5cvssurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/metrics/0/cvssV3_1
CWE assertions
3 source assertions{"cweId":"CWE-94","description":"CWE-94: Improper Control of Generation of Code ('Code Injection')","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/problemTypes/0/descriptions/0
{"cweId":"CWE-693","description":"CWE-693: Protection Mechanism Failure","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/problemTypes/2/descriptions/0
{"cweId":"CWE-913","description":"CWE-913: Improper Control of Dynamically-Managed Code Resources","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/problemTypes/1/descriptions/0
Source references
3 source assertions{"name":"https://github.com/patriksimek/vm2/commit/4b009c2d4b1131c01810c1205e641d614c322a29","tags":["x_refsource_MISC"],"url":"https://github.com/patriksimek/vm2/commit/4b009c2d4b1131c01810c1205e641d614c322a29"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/references/1
{"name":"https://github.com/patriksimek/vm2/releases/tag/v3.10.2","tags":["x_refsource_MISC"],"url":"https://github.com/patriksimek/vm2/releases/tag/v3.10.2"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/references/2
{"name":"https://github.com/patriksimek/vm2/security/advisories/GHSA-99p7-6v5w-7xg8","tags":["x_refsource_CONFIRM"],"url":"https://github.com/patriksimek/vm2/security/advisories/GHSA-99p7-6v5w-7xg8"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:1683706ffa791d0639b1dfcf7b50b78350af630fed47a1208f9f95b3496137df · sha256:1c2ccd9260ba4805… · /containers/cna/references/0
Attribution and limitations
- CVE Program CVEList V5: Reproduce the MITRE copyright designation and CVE license in copies. Source →
Provider severity values are preserved separately. Baitaphish does not convert them into a risk rating, infer affected products, or treat EPSS as observed exploitation.