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

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), Red Hat Developer Hub, Red Hat Self-service automation portal. Vendors: npm, 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
    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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.