Skip to main content
VulnerabilityPublished

CVE-2026-92962: patriksimek vm2 · Protection Mechanism Failure

Affects patriksimek vm2Source CVE Database V5

0
Compare

Not known to be exploited · CVSS 2.1 Low : upgrade to 3.11.4 when convenient.

Data as of 1 Nov 2026, 11:03 UTC

CVSS 4.0 base score
2.1Low
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 4% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 3.11.4
CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 17 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 1 Nov 2026.

What to do

Upgrade patriksimek vm2 to 3.11.4.

Affected software

ProductAffectedFixed in
patriksimekvm2Affected
  • <3.11.4
Fixed in
  • 3.11.4
npmvm2pkg:npm/vm2Other threatsAffected
  • <3.11.4
Fixed in
  • 3.11.4

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

A fix is available in vm2 version 3.11.4, which changes the array property assignment to use Reflect.defineProperty, preventing the interception of stack-trace lines by sandboxed code. Users should upgrade to vm2 3.11.4 or later to remediate this issue.

Description

vm2 is a sandbox for running untrusted JavaScript. In vm2 versions up to and including 3.11.3, the defaultSandboxPrepareStackTrace function in lib/setup-sandbox.js builds its output array using prototype-walking index assignment (lines[lines.length] = value) rather than a prototype-bypassing define-property primitive. Because this bridge-internal array is allocated in the sandbox realm, code inside the sandbox can install an accessor on Array.prototype for the relevant index; the accessor is then invoked whenever the sandbox reads error.stack (or otherwise triggers Error.prepareStackTrace), allowing sandbox code to observe and intercept each stack-trace line written by the bridge. The same pattern is used in the error-handling (catch) branch. The values written are formatted strings only, so the practical impact is limited to an information side channel and a violation of vm2's bridge-container defense invariant rather than a sandbox escape; the vendor rates the issue Low. The issue is fixed in vm2 3.11.4, which installs each entry as an own data property via Reflect.defineProperty.

References

Community reviews

Loading reviews…