Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
Back to intelligence
open-source-dependency-vulnerabilitywidely-deployed-product-advisoryendpoint-software-vulnerabilityproof-of-concept-release

Multiple Critical vm2 Sandbox Escapes Enable Host RCE in Node.js Environments

Updated 10d agoFirst seen Jun 12, 202618 sources

The vm2 Node.js sandboxing library was hit by a wave of critical sandbox-escape vulnerabilities that let attackers executing untrusted JavaScript break out and run arbitrary commands on the host. Reported flaws include CVE-2026-24120, which bypasses an earlier Promise-species mitigation to reach the host Function constructor; CVE-2026-24118, which abuses __lookupGetter__, Buffer.apply, and prototype traversal; CVE-2026-24781, which leverages inspect proxy unwrapping; CVE-2026-26332, which pivots through SuppressedError; and CVE-2026-26956, which uses WebAssembly JSTag exception handling on Node.js 25+. Across the advisories, affected versions span the 3.10.x branch and earlier, with several issues requiring only the ability to submit code to a vm2 instance and no authentication or user interaction.

The project responded with security releases v3.10.5 and v3.11.0, with v3.11.0 closing 13 advisories including sandbox escapes, denial-of-service bugs, information disclosure, and prototype pollution. Maintainers also patched a separate NodeVM issue tracked as GHSA-m4wx-m65x-ghrr, where enabling nesting: true with omitted or falsy require settings could expose the vm2 package inside the sandbox and lead to host remote code execution. The releases added broader hardening measures such as bufferAllocLimit, stricter handling of dangerous built-ins, and filesystem checks, while maintainers warned that organizations using vm2 to run fully untrusted code should upgrade immediately and avoid treating in-process JavaScript sandboxing as a sole security boundary.

Share:
Multiple Critical vm2 Sandbox Escapes Enable Host RCE in Node.js Environments
Stay ahead

Get ahead of threats like this

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.

EVENT TIMELINE

How this story unfolded

11 events from the most recent confirmed update back to the earliest known activity.

11 EVENTS
Jun 12, 202611d ago

CVE-2026-47131 disclosed as vm2 sandbox escape

A sandbox escape vulnerability in vm2 was disclosed as CVE-2026-47131, affecting versions prior to 3.11.4. The flaw uses specific Buffer.call.call sequences and Node.js ERR_INVALID_ARG_TYPE handling to obtain the host TypeError constructor and achieve arbitrary code execution outside the sandbox.

CVE-2026-47131 - vm2: Sandbox Escape

vm2 version 3.11.4 patched Bridge Proxy set-trap flaw

vm2 patched CVE-2026-47209 in version 3.11.4, fixing a flaw in bridge.js where the BaseHandler.set trap ignored the receiver parameter and could write inherited property assignments onto host objects. The bug enabled host object property injection through the prototype chain, including dangerous cross-realm Symbol keys such as nodejs.util.promisify.custom.

CVE-2026-47209 - vm2: Bridge Proxy set trap ignores receiver parameter, enabling host object property injection via prototype chain
May 18, 20261mo ago

GitHub advisory discloses NodeVM builtin denylist bypass in vm2

A GitHub security advisory described a vm2 NodeVM sandbox escape in which the dangerous builtin denylist omitted process and inspector/promises, allowing sandboxed code to regain host execution primitives and achieve host RCE in affected configurations. The advisory said the issue impacts deployments that allow those builtins or wildcard builtin access and recommended adding them to the dangerous builtin blocklist.

NodeVM builtin denylist bypass via process and inspector/promises allows host code execution · Advisory · patriksimek/vm2 · GitHub
May 17, 20261mo ago

vm2 commit fixes Promise species hijack in localPromise

A vm2 security fix was committed to close GHSA-76w7-j9cq-rx2j, a sandbox escape caused by Promise species handling in localPromise that could expose an unbridged host RangeError and lead to host Function access and possible RCE. The patch resets Symbol.species before invoking the host Promise.then path so downstream promises stay wrapped and exceptions are bridged safely.

fix(GHSA-76w7-j9cq-rx2j): close Promise species hijack in localPromis… · patriksimek/vm2@a462655 · GitHub

vm2 commit fixes NodeVM nesting bypass with falsy require options

A vm2 security fix was committed to close the NESTING_OVERRIDE resolver issue, preventing cases where nesting:true combined with omitted or falsy require settings could expose vm2 inside the sandbox and enable host RCE.

fix(GHSA-m4wx-m65x-ghrr): close NESTING_OVERRIDE resolver for falsy/o… · patriksimek/vm2@01a7552 · GitHub
May 4, 20262mo ago

Public tracking issue opened for NetBox CVE-2026-29514

A public tracking issue for the NetBox Jinja2 sandbox bypass and RCE vulnerability was opened on May 4, 2026, following the earlier disclosure-process problems described in the report.

NetBox CVE-2026-29514: Brief Summary of Jinja2 Sandbox Bypass Leading to Remote Code Execution - ZeroPath Blog | ZeroPath
May 1, 20262mo ago

vm2 version 3.11.0 released to fix 13 advisories

vm2 released version 3.11.0 as a coordinated security update that closed 13 advisories, including multiple sandbox-escape RCE flaws, denial-of-service issues, information disclosure, and prototype pollution weaknesses. The release also added hardening features such as buffer allocation limits and stricter defaults for dangerous builtins.

Release v3.11.0 · patriksimek/vm2 · GitHub
Apr 16, 20262mo ago

Fastify fixed @fastify/middie auth bypass in version 9.3.2

The @fastify/middie plugin fixed CVE-2026-6270 in version 9.3.2, resolving a middleware path prefix propagation flaw that could leave child plugin routes unprotected despite parent-scope authentication middleware.

Brief Summary: CVE-2026-6270 - @fastify/middie Authentication Bypass via Child Plugin Scope Inheritance Failure - ZeroPath Blog | ZeroPath
Mar 10, 20263mo ago

NetBox disclosure emails reportedly sent to vendor

According to the report on CVE-2026-29514, coordinated disclosure emails about the NetBox Jinja2 sandbox bypass were sent on March 10, 2026, but were reportedly lost during the disclosure process.

NetBox CVE-2026-29514: Brief Summary of Jinja2 Sandbox Bypass Leading to Remote Code Execution - ZeroPath Blog | ZeroPath
Feb 17, 20264mo ago

vm2 version 3.10.5 released with sandbox escape fixes

The vm2 project released version 3.10.5 with security hardening and fixes for multiple sandbox escape paths, including protections against access to dangerous code-execution primitives such as the Function constructor.

Release v3.10.5 · patriksimek/vm2 · GitHub
Oct 30, 20258mo ago

n8n fixed Git Node RCE in version 1.113.0

The n8n project fixed CVE-2025-62726 in version 1.113.0, addressing a flaw where cloning a malicious repository and later committing could execute attacker-controlled pre-commit hooks with n8n process privileges.

n8n Git Node RCE (CVE-2025-62726): Brief Summary and Technical Review - ZeroPath Blog | ZeroPath
The operational view lives in Mallory

See the full picture, correlated to your attack surface.

This page covers what’s public. Mallory adds the parts that aren’t — which of your assets are affected, which threat actors are using it right now, which detections to deploy, and what to do next.
Exposure mapping

Map indicators from this story to your assets and identify affected systems in minutes.

Threat actor evidence

Every observed campaign, victim, and pivot linked to actors named in this story.

Associated malware

Malware, exploits, and IOCs connected to the activity described here.

Detection signatures

YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.

Scheduled alerts

Get matching new stories delivered to your team as they break — not the next morning.

AI threads

Ask questions about this story and take action on the answers.