CVE-2026-92937 json
vm2 3.11.6 Remote Code Execution via Promise call/apply
published 2026-09-17 53 d ago modified 2026-10-01 39 d ago also GHSA-647f-g98j-qq25 , EUVD-2026-81587
- cvss
- 10.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 64%
- public exploits
- 0
- none known
Summary
vm2 3.11.6 is vulnerable to a sandbox escape leading to remote code execution in the host Node.js process. The fix for GHSA-m283-3h24-438v is incomplete: the bridge gate at lib/bridge.js:1624 identity-checks only the direct call target when deciding whether to rebuild/sanitise a rejected host Promise value. Registering the rejection handler through Function.prototype.call or .apply indirection (e.g., p.then.call(p, undefined, cb)) makes the intercepted target host Function.prototype.call, so the sanitiser never runs and the raw host error reaches sandbox code with its own properties intact. If an embedder exposes a host-realm Promise to the sandbox (an async host function bridged via the sandbox option, or a NodeVM external module's async method) and that Promise rejects with an Error carrying a non-primitive own property referencing a host object (for example err.detail = process), untrusted code in the sandbox obtains a fully functional proxy to that host object and can execute arbitrary commands with the privileges of the host process (e.g., e.detail.mainModule.require('child_process').execSync(...)). The direct p.then(undefined, cb), bind, and Reflect.apply forms are correctly sanitised. Fixed in vm2 3.11.7.
Patch / fix
- npm vm2 3.11.7
- patriksimek vm2 3.11.7
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-92937 updated cvss 8.3
vm2: vm2 3.11.6 Remote Code Execution via Promise call/apply
-
Red Hat Ansible Automation Platform 2.1 ansible-automation-platform/automation-portal 1791295379fixed: vendor fix RHSA-2026:80603
-
Red Hat Ansible Automation Platform 2.2 ansible-automation-platform/automation-portal 1791293780, ansible-automation-platform/bootc-automation-portal-rhel9 1791865660fixed: vendor fix RHSA-2026:80644
-
Red Hat Developer Hub 1.9 rhdh/rhdh-hub-rhel9 1793117813fixed: vendor fix RHSA-2026:91651
-
Red Hat Developer Hub 1.10 rhdh/rhdh-hub-rhel9 1791311495, rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend 1791242697, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend 1791251282fixed: vendor fix RHSA-2026:76788
-
Red Hat Developer Hub 1.9 rhdh/rhdh-rhel9-operator 1793117972, rhdh/rhdh-operator-bundle 1793126835 Red Hat Developer Hub 1.10 rhdh/rhdh-rhel9-operator 1791219676, rhdh/rhdh-operator-bundle 1791315788, rhdh/rhdh-must-gather-rhel9 1788278523, rhdh/rhdh-rag-content-rhel9 1791168570, rhdh/red-hat-developer-hub-backstage-plugin-lightspeed 1791242743, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator 1791250003, +3 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 51 d ago
Exploit prediction
1.03% chance of exploitation in the next 30 days, higher than 64% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/patriksimek/vm2/security/advisories/GHSA-647f-g98j-qq25 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 10.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CNA | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| CNA | 4.0 | 10.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/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 |
| GitHub | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | vm2 | >=3.11.6, <3.11.7 |
3.11.7 |
Affected products
- patriksimek vm2
Classification
References
-
github.com
/patriksimek/vm2/commit/315786904c416be68ff2517b86fb9d71fa6761db
web
-
github.com
/patriksimek/vm2/security/advisories/GHSA-647f-g98j-qq25
vendor-advisory, exploit, web
-
vulncheck.com
/advisories/vm2-3.11.6-remote-code-execution-via-promise-call-apply
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-92937
advisory
-
github.com
/patriksimek/vm2
package
-
github.com
/patriksimek/vm2/releases/tag/v3.11.7
web
Sources
- CVE List CVE-2026-92937
- GitHub Advisory GHSA-647f-g98j-qq25
- NVD CVE-2026-92937
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.