{"id":"CVE-2023-37466","published":"2023-07-13T23:17:51Z","modified":"2026-01-05T21:25:27Z","title":"vm2 Sandbox Escape vulnerability","vendor":"patriksimek","product":"vm2","tier":"tail","description":{"text":"vm2 is an advanced vm/sandbox for Node.js. The library contains critical security issues and should not be used for production. The maintenance of the project has been discontinued. In vm2 for versions up to 3.9.19, `Promise` handler sanitization can be bypassed with the `@@species` accessor property allowing attackers to escape the sandbox and run arbitrary code, potentially allowing remote code execution inside the context of vm2 sandbox. Version 3.10.0 contains a patch for the issue.","provenance":"source","from":"CVE.org"},"cvss":{"score":9.8,"severity":"CRITICAL","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.03867,"percentile":0.90175,"provenance":"source"},"cwes":[{"id":"CWE-94","name":"Improper Control of Generation of Code"}],"references":[{"url":"https://github.com/patriksimek/vm2/security/advisories/GHSA-cchq-frgv-rjh5","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/patriksimek/vm2/commit/d9a1fde8ec5a5a9c9e5a69bf91d703950859d744","tags":["x_refsource_MISC"]},{"url":"https://github.com/patriksimek/vm2/releases/tag/v3.10.0","tags":["x_refsource_MISC"]},{"url":"https://security.netapp.com/advisory/ntap-20241108-0002/","tags":[]}],"priority":{"score":24.9,"factors":[{"name":"EPSS percentile","points":18.04},{"name":"CVSS severity","points":6.86}]},"vendorSlug":"patriksimek","affectedVersions":[{"vendor":"patriksimek","product":"vm2","versions":["<= 3.9.19"]}],"affected":[{"ecosystem":"npm","package":"vm2","vulnerableRanges":["<3.10.0"],"patched":["3.10.0"],"from":["GHSA-cchq-frgv-rjh5"],"provenance":"source"}],"euvd":{"id":"EUVD-2023-2028","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-patriksimek-vm2-cve-2021-23449","parents":[{"from":"CVE-2021-23555","to":"CVE-2023-37466","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["lib/bridge.js"],"commits":["https://github.com/patriksimek/vm2/commit/532120d5cdec7da8225fc6242e154ebabc63fe4d","https://github.com/patriksimek/vm2/commit/d9a1fde8ec5a5a9c9e5a69bf91d703950859d744"],"basis":"rarely changed file"}]},{"from":"CVE-2022-36067","to":"CVE-2023-37466","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["lib/setup-sandbox.js"],"commits":["https://github.com/patriksimek/vm2/commit/d9a7f3cc995d3d861e1380eafb886cb3c5e2b873","https://github.com/patriksimek/vm2/commit/d9a1fde8ec5a5a9c9e5a69bf91d703950859d744"],"basis":"shared function","functions":["defineProperties"]}]}],"children":[{"from":"CVE-2023-37466","to":"CVE-2026-24120","relation":"incomplete-fix","confidence":"high","kind":"lineage","evidence":[{"kind":"text","provenance":"source","relation":"incomplete-fix","quote":"Prior to version 3.10.5, the fix for CVE-2023-37466 is insufficient and can be circumvented allowing attackers to write code which can escape from the VM2 sandbox and execute arbitrary commands on the host system.","from":"CVE.org","in":"CVE-2026-24120"},{"kind":"osv-related","provenance":"source","id":"GHSA-qvjj-29qf-hp7p","via":"reference","url":"https://github.com/patriksimek/vm2/security/advisories/GHSA-cchq-frgv-rjh5"}]}],"packageHistory":[{"cve":"CVE-2023-30547","published":"2023-04-17","fixed":"3.9.17","kev":false},{"cve":"CVE-2023-32313","published":"2023-05-15","fixed":"3.9.18","kev":false},{"cve":"CVE-2023-32314","published":"2023-05-15","fixed":"3.9.18","kev":false,"link":{"from":"CVE-2023-32314","to":"CVE-2023-37466","relation":"successor","confidence":"high","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"npm:vm2","fromFixed":"3.9.18","toFixed":"3.10.0","daysApart":59},{"kind":"same-code","provenance":"machine","files":["lib/setup-sandbox.js"],"commits":["https://github.com/patriksimek/vm2/commit/d88105f99752305c5b8a77b63ddee3ec86912daf","https://github.com/patriksimek/vm2/commit/d9a1fde8ec5a5a9c9e5a69bf91d703950859d744"],"basis":"shared file"}]}},{"cve":"CVE-2023-37466","published":"2023-07-13","fixed":"3.10.0","kev":false},{"cve":"CVE-2026-22709","published":"2026-01-26","fixed":"3.10.2","kev":false},{"cve":"CVE-2026-24120","published":"2026-05-04","fixed":"3.10.5","kev":false},{"cve":"CVE-2026-26956","published":"2026-05-04","fixed":"3.10.5","kev":false}],"package":"npm:vm2"}}