Quick answers
- Is CVE-2026-92954 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-92954 being exploited in the wild.
- How severe is CVE-2026-92954?
- High severity, with a CVSS score of 8.6, published 17 September 2026.
- Which products and versions are affected?
- vm2 (npm) >= 3.10.0, <= 3.11.7, SEMVER:introduced=3.10.0,fixed=3.11.8.
- Is there a fix for CVE-2026-92954?
- Yes. vm2 (npm): upgrade to 3.11.8 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-92954 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-92954?
- Check whether you run vm2 (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- vm2 (npm): upgrade to 3.11.8 or later
npm install vm2@3.11.8
Technical details
The vulnerability is a Promise rejection handling bypass in vm2's sandbox bridge. When untrusted code calls a host function that returns a rejected Promise (such as events.once() or any embedder-exposed Promise-returning API) and does not attach a .catch() or .then() handler, the host-side Promise remains unhandled. While vm2 wraps sandbox-created Promises with rejection handlers, host Promises are only instrumented when sandbox code explicitly calls .then/.catch/.finally on them. If the Promise is ignored, Node.js's default unhandled-rejection behavior (process termination) occurs, crashing the host. This affects versions 3.10.0 through 3.11.7; the fix in 3.11.8 adds host-side rejection handlers at the bridge boundary for all returned Promises.
Affected products
- patriksimek vm2 3.10.0 through 3.11.7
Identifiers
- CVE-2026-92954
- GHSA-gjq8-xm47-88rc
Timeline
- 2026-08-27: disclosed
- 2026-09-17: advisory
- 2026-09-17: patched: Fixed in version 3.11.8