Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade vm2 to version 3.12.1 or higher.
vm2 is a sandbox that can run untrusted code with whitelisted Node's built-in modules.
Affected versions of this package are vulnerable to Improper Control of Dynamically-Managed Code Resources via a sloppy-mode host function invoked from the sandbox with a nullish receiver. When sandbox code calls an embedder-exposed sloppy-mode host function without a receiver, V8's OrdinaryCallBindThis substitutes the host realm's global object for the function's this. The bridge in lib/bridge.js previously wrapped and delivered that global object into the sandbox like any other host value, allowing an attacker to reach host globals and call process.getBuiltinModule('child_process') or equivalent APIs for full remote code execution. The fix adds an identity check at the three host-to-sandbox coercion chokepoints (thisFromOtherWithFactory, thisEnsureThis, thisFromOtherForThrow) to refuse delivery of the host global, returning undefined instead.
Note: This is only exploitable if the embedding application exposes at least one non-strict (sloppy-mode) host function to the sandbox; strict-mode and ES module host functions are not affected.