This is a summary of the AI-generated 10-question deep analysis. The full version (longer answers, follow-up Q&A, related CVEs) requires login. Read the full analysis β
Q1What is this vulnerability? (Essence + Consequences)
π¨ **Essence**: A critical sandbox escape in **vm2** (Node.js VM). <br>π₯ **Consequences**: Attackers bypass Promise callback cleanup, escaping the sandbox to execute **arbitrary code**. Total loss of isolation.
Q2Root Cause? (CWE/Flaw)
π‘οΈ **CWE**: **CWE-94** (Code Injection). <br>π **Flaw**: Improper handling of **Promise callback cleanup**. The whitelist mechanism fails to contain the execution context when promises resolve.
π§ͺ **Exploit**: **No public PoC** listed in data. <br>β οΈ **Risk**: Despite no public code, CVSS score is **9.8** (Critical). Assume high risk of wild exploitation due to low barrier.
Q7How to self-check? (Features/Scanning)
π **Check**: Scan for **vm2** dependency in `package.json`. <br>π **Version**: Verify if version is **< 3.10.2**. <br>π οΈ **Tool**: Use npm audit or SAST tools detecting CWE-94 in sandbox contexts.
Q8Is it fixed officially? (Patch/Mitigation)
β **Fixed**: **Yes**. <br>π§ **Patch**: Upgrade to **vm2 v3.10.2** or later. <br>π **Ref**: [GitHub Release](https://github.com/patriksimek/vm2/releases/tag/v3.10.2).
Q9What if no patch? (Workaround)
π§ **Workaround**: If patching is impossible, **do not use vm2** for untrusted code. <br>π **Alternative**: Use native Node.js `vm` module with strict context isolation or containerization (Docker) for isolation.