Description
vm2 versions from 3.11.0 before 3.11.8 fail to protect host TypedArray and ArrayBuffer prototypes from sandbox mutation. Attackers can use prototype-walking primitives to reach and modify host Uint8Array.prototype, %TypedArray%.prototype, and ArrayBuffer.prototype, causing host-created typed arrays to observe attacker-controlled properties after VM.run() returns.
Published: 2026-09-17
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

vm2 is a JavaScript sandbox library that isolates code execution. In versions 3.11.0 through 3.11.7 the sandbox fails to protect host TypedArray and ArrayBuffer prototypes from mutation. An attacker can use prototype-walking primitives to modify host Uint8Array.prototype, %TypedArray%.prototype, and ArrayBuffer.prototype. As a result, any typed array created by the host after VM.run() returns will expose attacker‑controlled properties, allowing the attacker to read, alter or execute code in the parent process. This effectively grants the attacker remote code execution within the hosting application.

Affected Systems

The affected vendor is patriksimek, product vm2. The vulnerable versions are 3.11.0 up to 3.11.7 inclusive. The fix was introduced in 3.11.8. All older versions are not affected.

Risk and Exploitability

The CVSS score of 9.3 indicates a critical severity. The EPSS score is not available, so the current exploitation probability cannot be quantified. The vulnerability is not listed in the CISA KEV catalog. Attackers who can execute arbitrary code inside VM.run() can exploit the prototype pollution to escape the sandbox and modify host prototypes, giving them a foothold to read or alter sensitive data or to execute code in the host process. The likely attack vector is any untrusted JavaScript code that is evaluated with VM.run(), inferred from the description.

Generated by OpenCVE AI on September 17, 2026 at 23:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade vm2 to version 3.11.8 or later to remove the prototype‑pollution flaw.
  • If an upgrade is not feasible, avoid running untrusted code with VM.run(); restrict VM.run() to trusted scripts only.
  • As a temporary workaround, execute vm2 in a separate Node.js process or container and terminate the process after each run to prevent prototype leakage into the main application.

Generated by OpenCVE AI on September 17, 2026 at 23:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-3vgf-8m4q-q4qr vm2: Default VM can mutate host TypedArray and ArrayBuffer intrinsics after the host-prototype pollution fix
History

Fri, 18 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 17 Sep 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Patriksimek
Patriksimek vm2
Vendors & Products Patriksimek
Patriksimek vm2

Thu, 17 Sep 2026 14:00:00 +0000

Type Values Removed Values Added
Description vm2 versions from 3.11.0 before 3.11.8 fail to protect host TypedArray and ArrayBuffer prototypes from sandbox mutation. Attackers can use prototype-walking primitives to reach and modify host Uint8Array.prototype, %TypedArray%.prototype, and ArrayBuffer.prototype, causing host-created typed arrays to observe attacker-controlled properties after VM.run() returns.
Title vm2 3.11.0 through 3.11.7 Prototype Pollution via TypedArray
Weaknesses CWE-913
References
Metrics cvssV3_1

{'score': 10, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:H'}

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-18T19:49:31.925Z

Reserved: 2026-09-17T12:43:03.568Z

Link: CVE-2026-92953

cve-icon Vulnrichment

Updated: 2026-09-18T19:37:51.401Z

cve-icon NVD

Status : Deferred

Published: 2026-09-17T14:18:01.160

Modified: 2026-09-18T20:17:31.113

Link: CVE-2026-92953

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-17T23:45:17Z

Weaknesses
  • CWE-913

    Improper Control of Dynamically-Managed Code Resources