Quick answers
- Is CVE-2026-26332 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-26332 being exploited in the wild.
- How severe is CVE-2026-26332?
- Critical severity, with a CVSS score of 9.8, published 4 May 2026.
- Which products and versions are affected?
- vm2 (npm) < 3.11.0, SEMVER:introduced=0,fixed=3.11.0; Red Hat Developer Hub 1; Red Hat Self-service automation portal 2.
- Is there a fix for CVE-2026-26332?
- Yes. vm2 (npm): upgrade to 3.11.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-26332 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-26332?
- Check whether you run vm2 (npm), Red Hat Developer Hub or Red Hat Self-service automation portal 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.0 or later
npm install vm2@3.11.0
Technical details
The vulnerability exists in VM2's promise handling at the host-sandbox boundary. When an embedder exposes a host-realm async function to sandboxed code via the sandbox options, the bridge returns a host-realm Promise wrapped as a proxy. However, when the sandbox calls `.then()`, `.catch()`, or `.finally()` on this proxy, the promise chain invokes callbacks against raw host rejection values, bypassing the sandbox's `handleException` sanitization layer. This allows a SuppressedError thrown in the host realm to reach the sandbox catch handler unsanitized. An attacker can then access the error's `.constructor.constructor` property chain to obtain the host Function constructor, enabling arbitrary code execution via eval-like patterns. The vulnerability affects VM2 versions ≤ 3.10.4 and requires no authentication or user interaction; exploitation is triggered by sandboxed code alone. A patch is available in v3.11.0 which enforces structural sanitization at the host-Promise boundary by wrapping all callbacks through sandbox-side sanitizing closures.
Affected products
- patriksimek vm2 <= 3.10.4
Identifiers
- CVE-2026-26332
- GHSA-55hx-c926-fr95
Timeline
- 2026-05-05: disclosed
- 2026-05-01: patched: Fix released in v3.11.0
References
- https://github.com/patriksimek/vm2/security/advisories/GHSA-55hx-c926-fr95
- https://github.com/patriksimek/vm2/commit/119fd0aa1e4c27b08cf37946b2dafa99e2c754f0
- https://github.com/patriksimek/vm2/commit/4cb82cc94d9bb6c9a918b45f8c6790c32a5e913f
- https://github.com/patriksimek/vm2/commit/7395c3a4b01d302e55271c87dbeb44d6b83b81ca
- https://github.com/patriksimek/vm2/commit/792e16d56ee429ab19e284ed9c545f5e4694fb7d
- https://github.com/patriksimek/vm2/commit/d715dd88c5aec5bbb4dce03ddf7c3eb3791d0338