CVE Catalog

CVE-2026-92944

CriticalCVSS 9.8
Published: Updated: Translated: NVD NIST

Summary

vm2 versions 3.10.2 through 3.11.6 contain a sandbox escape vulnerability on Node.js 26 where Promise.prototype.finally() bypasses vm2's wrapper protections due to a stale PromiseThenLookupChain protector in V8 14.6. Attackers can exploit this by creating an async function that returns a Promise with an attacker-controlled constructor Symbol.species, allowing them to reach the host Function constructor and process object for arbitrary code execution.

Risk Assessment

The sandbox escape enables arbitrary code execution in the host context, leading to full compromise of the Node.js process and the system.

Recommendation

Upgrade vm2 to version 3.11.7, which fixes the Promise.prototype.finally() protection bypass on Node.js 26.

Other vulnerabilities in vm2

See all
Original NVD description (English source)

vm2 versions 3.10.2 through 3.11.6 contain a sandbox escape vulnerability on Node.js 26 where Promise.prototype.finally() bypasses vm2's wrapper protections due to a stale PromiseThenLookupChain protector in V8 14.6. Attackers can exploit this by creating an async function that returns a Promise with an attacker-controlled constructor Symbol.species, allowing them to reach the host Function constructor and process object for arbitrary code execution.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS