{"uuid": "6c8479e7-cae4-4f06-bb5b-608e4b96b811", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "GHSA-27g9-p43v-cw3v", "type": "seen", "source": "https://gist.github.com/alon710/f685287634c3e6a3e82191e551c8ed27", "content": "# CVE-2026-92944: CVE-2026-92944: Sandbox Escape in vm2 via Stale V8 PromiseThenLookupChain Protector\n\n&gt; **CVSS Score:** 9.8\n&gt; **Published:** 2026-10-01\n&gt; **Full Report:** https://cvereports.com/reports/CVE-2026-92944\n\n## Summary\nA critical engine-level reachability failure in Node.js 26 running V8 14.6 allows attackers to escape the vm2 sandbox environment. When consecutive prototype properties are modified using sequential assignments, a V8 optimization bug fails to invalidate the PromiseThenLookupChain protector. By calling Promise.prototype.finally, the attacker bypasses the vm2 wrappers, hijacks the promise reaction using a custom constructor, triggers a calibrated stack overflow to capture a host-realm RangeError, and executes arbitrary shell commands on the host.\n\n## TL;DR\nAn optimization bug in the V8 engine on Node.js 26 fails to invalidate a promise lookup protector when properties are assigned sequentially, allowing attackers to bypass vm2's promise wrappers and achieve full sandbox escape and remote code execution.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **CWE ID**: CWE-693\n- **Attack Vector**: Network\n- **CVSS Score**: 9.8\n- **EPSS Score**: 0.00841\n- **Impact**: Arbitrary Code Execution / Sandbox Escape\n- **Exploit Status**: PoC\n- **KEV Status**: No\n\n## Affected Systems\n\n- vm2 running on Node.js 26 (V8 14.6)\n- **vm2**: &gt;= 3.10.2, &lt;= 3.11.6 (Fixed in: `3.11.7`)\n\n## Mitigation\n\n- Upgrade vm2 to 3.11.7 or higher to apply property definition overrides\n- Run Node.js with the --no-proto-assign-seq-opt flag to disable the buggy V8 optimization\n- Migrate to process-isolated sandbox solutions like isolated-vm\n\n**Remediation Steps:**\n1. Identify all projects and dependencies relying on vm2\n2. Update the package.json dependency to 'vm2': '^3.11.7'\n3. In corporate CI/CD pipelines, configure Node.js launch configurations with the --no-proto-assign-seq-opt flag as a defense-in-depth measure\n\n## References\n\n- [GitHub Security Advisory GHSA-27g9-p43v-cw3v](https://github.com/patriksimek/vm2/security/advisories/GHSA-27g9-p43v-cw3v)\n- [VulnCheck Advisory for CVE-2026-92944](https://www.vulncheck.com/advisories/vm2-3.10.2-through-3.11.6-sandbox-escape-via-promise-protector)\n- [CVE-2026-92944 Record](https://www.cve.org/CVERecord?id=CVE-2026-92944)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/CVE-2026-92944) - Automated Vulnerability Intelligence*", "creation_timestamp": "2026-10-02T10:30:30.000000Z"}