# CVE-2026-26956: patriksimek vm2 sandbox escape via WebAssembly JSTag

Source: https://junglewise.ai/threats/cve-2026-26956-patriksimek-vm2-sandbox-escape-via-webassembly-jstag  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-05-04. Updated: 2026-06-30  
License: CC BY 4.0 with a link back

CVE-2026-26956 · Severity: critical · CVSS 9.8 · Published 2026-05-04

vm2 is a popular software library used to safely run untrusted code in an isolated environment (sandbox). A critical vulnerability allows an attacker to bypass these security protections and execute commands directly on the underlying server. This could lead to a complete system takeover, unauthorized data access, or disruption of services.

Technologies: [vm2 (npm)](https://junglewise.ai/threats/technologies/vm2), [Red Hat Developer Hub](https://junglewise.ai/threats/technologies/developer-hub), [Red Hat Self-service automation portal 2](https://junglewise.ai/threats/technologies/self-service-automation-portal-2). Vendors: [npm](https://junglewise.ai/threats/vendors/npm), [Red Hat](https://junglewise.ai/threats/vendors/red-hat).

## Quick answers

**Is CVE-2026-26956 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-26956 being exploited in the wild.

**How severe is CVE-2026-26956?** Critical severity, with a CVSS score of 9.8, published 4 May 2026.

**Which products and versions are affected?** vm2 (npm) <= 3.10.4, SEMVER:introduced=0,fixed=3.10.5; Red Hat Developer Hub 1; Red Hat Self-service automation portal 2 2.

**Is there a fix for CVE-2026-26956?** Yes. vm2 (npm): upgrade to 3.10.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-26956 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-26956?** Check whether you run vm2 (npm), Red Hat Developer Hub or Red Hat Self-service automation portal 2 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.10.5 or later

  ```sh
  npm install vm2@3.10.5
  ```


## Technical details

A sandbox escape vulnerability exists in vm2 due to improper isolation of WebAssembly (WASM) exception handling. While vm2 uses JavaScript-level transformers and Proxies to wrap host-realm errors, WASM's 'try_table' instruction with 'JSTag' catches exceptions at the V8 C++ level, bypassing these JS-level protections. An attacker can trigger a TypeError (e.g., via Symbol-to-string coercion during stack formatting) that is caught by WASM and returned as an unsanitized host-realm object. By traversing the constructor chain of this object, an attacker can access the host's 'process' object and achieve Remote Code Execution (RCE). The issue is patched in version 3.10.5.

## Affected products

- patriksimek vm2 <= 3.10.4
- Red Hat Red Hat Developer Hub 1
- Red Hat Self-service automation portal 2 2

## Identifiers

- CVE-2026-26956
- GHSA-ffh4-j6h5-pg66

## Timeline

- 2026-05-01: advisory: GitHub Security Advisory GHSA-ffh4-j6h5-pg66 published
- 2026-05-04: disclosed: CVE-2026-26956 published to NVD
- 2026-05-04: patched: Version 3.10.5 released to address the vulnerability

## References

- [https://github.com/patriksimek/vm2/releases/tag/v3.10.5](https://github.com/patriksimek/vm2/releases/tag/v3.10.5)
- [https://github.com/patriksimek/vm2/security/advisories/GHSA-ffh4-j6h5-pg66](https://github.com/patriksimek/vm2/security/advisories/GHSA-ffh4-j6h5-pg66)
- [https://access.redhat.com/security/cve/CVE-2026-26956](https://access.redhat.com/security/cve/CVE-2026-26956)
- [https://bugzilla.redhat.com/show_bug.cgi?id=2466548](https://bugzilla.redhat.com/show_bug.cgi?id=2466548)
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-26956.json](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-26956.json)

## Related threats

- [vm2 NodeVM path bypass in custom resolution](https://junglewise.ai/threats/duplicate-advisory-vm2-nodevm-custom-resolution-bypasses-external-path-5d3a7272)
- [vm2 NodeVM zlib buffer pool information disclosure](https://junglewise.ai/threats/duplicate-advisory-vm2-nodevm-zlib-buffers-expose-pooled-host-memory-6007c734)
- [vm2 host Promise rejection denial of service in construct trap](https://junglewise.ai/threats/duplicate-advisory-vm2-host-promise-rejection-from-an-exposed-f7aba6ba)
- [vm2 sandbox escape via Buffer backing-store ownership bypass](https://junglewise.ai/threats/cve-2026-100723-vm2-before-3-12-2-does-not-apply-its-buffer-backing-store)
- [vm2 unhandled Promise rejection in construct trap](https://junglewise.ai/threats/cve-2026-100722-vm2-before-3-12-2-does-not-apply-host-side-promise-rejection)
