# CVE-2026-24118: patriksimek vm2 sandbox breakout via descriptor-chain bypass

Source: https://junglewise.ai/threats/cve-2026-24118-patriksimek-vm2-sandbox-breakout-via-descriptor-chain-bypass  
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-24118 · Severity: critical · CVSS 9.8 · Published 2026-05-04

vm2 is a popular software library used to run untrusted code in a secure, isolated environment (a sandbox). A critical flaw allows an attacker to break out of this isolation and run unauthorized commands directly on the underlying server. This could lead to a total system takeover, theft of sensitive data, or disruption of operations.

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](https://junglewise.ai/threats/technologies/self-service-automation-portal). Vendors: [npm](https://junglewise.ai/threats/vendors/npm), [Red Hat](https://junglewise.ai/threats/vendors/red-hat).

## Quick answers

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

**How severe is CVE-2026-24118?** 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.

**Is there a fix for CVE-2026-24118?** 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-24118 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-24118?** 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

  ```sh
  npm install vm2@3.11.0
  ```


## Technical details

A sandbox breakout vulnerability exists in vm2 due to improper handling of JavaScript proxies and host objects. Specifically, the vulnerability involves a descriptor-chain bypass of the `__lookupGetter__` and `Buffer.apply` constructor, as well as an 'Array species self-return' escape where V8's `ArraySpeciesCreate` reads `this.constructor[Symbol.species]` directly on raw objects, bypassing the bridge proxy. An attacker can provide malicious code to the sandbox that leaks host-side constructors or prototypes, leading to Remote Code Execution (RCE) on the host machine. The issue is addressed in version 3.11.0 by implementing a multi-layer defense in `lib/bridge.js` to neutralize host array constructors during function calls.

## Affected products

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

## Identifiers

- CVE-2026-24118
- GHSA-grj5-jjm8-h35p

## Timeline

- 2026-04-24: patched: Initial fix for Array species escape committed
- 2026-05-01: advisory: GitHub Advisory GHSA-grj5-jjm8-h35p published
- 2026-05-01: patched: Version 3.11.0 released
- 2026-05-04: disclosed: NVD publication date

## References

- [https://github.com/patriksimek/vm2/commit/2b5f3e3a060d9088f5e1cdd585d683d491f990a3](https://github.com/patriksimek/vm2/commit/2b5f3e3a060d9088f5e1cdd585d683d491f990a3)
- [https://github.com/patriksimek/vm2/commit/f9b700b1c7d9ef2df416666cb24e0b659140cc74](https://github.com/patriksimek/vm2/commit/f9b700b1c7d9ef2df416666cb24e0b659140cc74)
- [https://github.com/patriksimek/vm2/releases/tag/v3.11.0](https://github.com/patriksimek/vm2/releases/tag/v3.11.0)
- [https://github.com/patriksimek/vm2/security/advisories/GHSA-grj5-jjm8-h35p](https://github.com/patriksimek/vm2/security/advisories/GHSA-grj5-jjm8-h35p)
- [https://access.redhat.com/security/cve/CVE-2026-24118](https://access.redhat.com/security/cve/CVE-2026-24118)
- [https://bugzilla.redhat.com/show_bug.cgi?id=2466502](https://bugzilla.redhat.com/show_bug.cgi?id=2466502)
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-24118.json](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-24118.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)
