Description
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules. Prior to version 3.9.15, vm2 was not properly handling host objects passed to `Error.prepareStackTrace` in case of unhandled async errors. A threat actor could bypass the sandbox protections to gain remote code execution rights on the host running the sandbox. This vulnerability was patched in the release of version 3.9.15 of vm2. There are no known workarounds.
Remediation
References
https://gist.github.com/seongil-wi/2a44e082001b959bfe304b62121fb76d
https://github.com/patriksimek/vm2/commit/d534e5785f38307b70d3aac1945260a261a94d50
https://github.com/patriksimek/vm2/issues/515
https://github.com/patriksimek/vm2/security/advisories/GHSA-7jxr-cg7f-gpgv
Related Vulnerabilities
CVE-2017-18197 Vulnerability in maven package org.webjars.bower:mxgraph
CVE-2020-26302 Vulnerability in maven package org.webjars.npm:is_js
CVE-2023-45311 Vulnerability in npm package fsevents
CVE-2022-45208 Vulnerability in maven package org.jeecgframework.boot:jeecg-module-system
CVE-2023-32695 Vulnerability in maven package org.webjars.npm:socket.io-parser