Skip to main content
VulnerabilityPublished Updated

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

Affects patriksimek vm2Source CVE Database V5

0
Compare

Not known to be exploited · CVSS 7.1 High : upgrade to 3.11.8 soon.

Data as of 1 Nov 2026, 22:58 UTC

CVSS 4.0 base score
7.1High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.4% chance of exploitation in 30 days – higher than 39% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 3.11.8
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/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.8.

Affected software

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

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.8 and later. Users should upgrade to version 3.11.8 or newer to ensure full enforcement of the allowAsync: false option and prevent asynchronous code execution beyond the configured timeout.

Description

vm2 before 3.11.8 does not fully enforce the allowAsync: false option in VM and NodeVM. While localPromise.prototype.then is replaced with a handler that throws 'Async not available', the sandbox's Promise static methods (Promise.resolve, Promise.all, Promise.race, Promise.any, and Promise.allSettled) still assimilate attacker-supplied thenables: native promise resolution performs PromiseResolveThenableJob and invokes the sandboxed code's then method in a microtask without passing through the patched then, so the async restriction is never applied. As a result, sandboxed script can schedule work that runs after VM.run() or NodeVM.run() has returned and outside the configured timeout, continuing to execute after the host believes execution is complete.

References

Community reviews

Loading reviews…