CVE-2026-92954
published 2026-09-17CVE-2026-92954: vm2 is a sandbox library for running untrusted JavaScript in Node.js. In versions >= 3.10.0 and <= 3.11.7, Promises returned from the host realm into the…
PriorityP348high8.6CVSS 3.1
AVNACLPRNUINSCCNINAH
EPSS
0.34%
28.0th percentile
vm2 is a sandbox library for running untrusted JavaScript in Node.js. In versions >= 3.10.0 and <= 3.11.7, Promises returned from the host realm into the sandbox are not marked as handled at the bridge boundary; only Promises created inside the sandbox are wrapped with a rejection-swallowing handler (lib/setup-sandbox.js), and the bridge only installs host-side rejection sanitizers when sandbox code calls .then/.catch/.finally. As a result, code running in the sandbox can invoke a host function that returns a rejected Promise (for example events.once() exposed via the NodeVM events builtin, or any embedder-provided Promise-returning API) and simply ignore the return value, leaving the host Promise unhandled so that Node.js's default unhandled-rejection behavior terminates the host process. This is an incomplete fix of GHSA-hw58-p9xv-2mjh. The issue is fixed in version 3.11.8.
Affected
1 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| patriksimek | vm2 | >= 3.10.0 < 3.11.8 | 3.11.8 |
CVSS provenance
nvdv3.18.6HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H
nvdv4.09.2CRITICALCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
VulDB
patriksimek vm2 up to 3.11.7 Bridge lib/setup-sandbox.js events.once return value (EUVD-2026-81603)
vuldb·2026-09-21·CVSS 8.6
CVE-2026-92954 [HIGH] patriksimek vm2 up to 3.11.7 Bridge lib/setup-sandbox.js events.once return value (EUVD-2026-81603)
A vulnerability was found in patriksimek vm2 up to 3.11.7. It has been classified as problematic. This vulnerability affects the function events.once of the file lib/setup-sandbox.js of the component Bridge. This manipulation causes unchecked return value.
This vulnerability appears as CVE-2026-92954. The attack may be initiated remotely. There is no available exploit.
Upgrading the affected component is recommended.
GHSA
vm2 is a sandbox library for running untrusted JavaScript in Node.js.
ghsa_unreviewed·2026-09-17
CVE-2026-92954 [CRITICAL] CWE-248 vm2 is a sandbox library for running untrusted JavaScript in Node.js.
vm2 is a sandbox library for running untrusted JavaScript in Node.js. In versions >= 3.10.0 and <= 3.11.7, Promises returned from the host realm into the sandbox are not marked as handled at the bridge boundary; only Promises created inside the sandbox are wrapped with a rejection-swallowing handler (lib/setup-sandbox.js), and the bridge only installs host-side rejection sanitizers when sandbox code calls .then/.catch/.finally. As a result, code running in the sandbox can invoke a host function that returns a rejected Promise (for example events.once() exposed via the NodeVM events builtin, or any embedder-provided Promise-returning API) and simply ignore the return value, leaving the host Promise unhandled so that Node.js's default unhandled-rejection behavior terminates the host process.
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2026-09-17
Published