{"vulnerability": "ghsa-633r-hq9m-c4ff", "sightings": [{"uuid": "4e941ef6-2825-4097-8dd6-037cb1dabe33", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "GHSA-633r-hq9m-c4ff", "type": "seen", "source": "https://gist.github.com/alon710/b14d056fc55a9e22e09072f52e241311", "content": "# CVE-2026-92949: CVE-2026-92949: Sandbox Escape and State Mutation in vm2 via Accessor Property Descriptor Leak\n\n&gt; **CVSS Score:** 4.0\n&gt; **Published:** 2026-10-01\n&gt; **Full Report:** https://cvereports.com/reports/CVE-2026-92949\n\n## Summary\nCVE-2026-92949 is a sandbox bypass vulnerability in the vm2 library affecting versions 3.9.6 through 3.11.6. The flaw exists due to a breakdown in the ReadOnlyHandler proxy boundary, allowing sandboxed scripts to obtain direct references to wrapped property setters on frozen host-bound objects, ultimately leading to unauthorized state modification in the host environment. This security failure violates the read-only contract enforced by the sandbox for frozen/readonly objects, though it does not by itself allow a full execution-level realm escape. Due to systemic and structural design difficulties in securing a shared-runtime JavaScript sandbox, the vm2 library has been officially deprecated.\n\n## TL;DR\nA security flaw in vm2's proxy bridge allows sandboxed applications to leak and invoke property setters on frozen objects, enabling unauthorized write access to host-realm configurations and bypassing isolation controls.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **CWE ID**: CWE-471: Modification of Assumed-Immutable Data (MAID)\n- **Attack Vector**: Network / Sandboxed Script Execution\n- **CVSS Score**: 4.0 (Medium)\n- **EPSS Score**: 0.00319 (Percentile: 22.47%)\n- **Impact**: Low Integrity (State Modification of Host objects)\n- **Exploit Status**: Proof of Concept (PoC) Verified\n- **KEV Status**: Not Listed\n\n## Affected Systems\n\n- Node.js applications running vm2 library within multi-tenant execution contexts\n- **vm2**: &gt;= 3.9.6, &lt; 3.11.7 (Fixed in: `3.11.7`)\n\n## Mitigation\n\n- Upgrade to vm2 version 3.11.7 or later to apply the explicit descriptor-filtering patch.\n- Migrate the application execution pipeline from the deprecated vm2 library to isolated-vm.\n- Enforce strict input sanitization inside host-defined accessors exposed to untrusted code.\n- Avoid passing complex host objects containing getters/setters to sandboxed contexts.\n\n**Remediation Steps:**\n1. Identify instances of vm2 in package.json and transitively via npm-list.\n2. Update the package version constraint to 3.11.7.\n3. Execute npm install to rebuild dependency trees with the patched version.\n4. Prepare a migration path to isolate untrusted scripts inside isolated-vm or isolated micro-containers.\n\n## References\n\n- [Official GitHub Security Advisory (GHSA-633r-hq9m-c4ff)](https://github.com/patriksimek/vm2/security/advisories/GHSA-633r-hq9m-c4ff)\n- [VulnCheck Vulnerability Advisory](https://www.vulncheck.com/advisories/vm2-3.9.6-before-3.11.7-sandbox-bypass-via-accessor-descriptor)\n- [Official Release tag (v3.11.7)](https://github.com/patriksimek/vm2/releases/tag/v3.11.7)\n- [NVD Vulnerability Page](https://nvd.nist.gov/vuln/detail/CVE-2026-92949)\n- [CVE.org Official Record](https://www.cve.org/CVERecord?id=CVE-2026-92949)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/CVE-2026-92949) - Automated Vulnerability Intelligence*", "creation_timestamp": "2026-10-02T05:30:32.000000Z"}]}