Published · yesterdayBuild2 min read
One glue-layer bug, 344,000 stars of AI plumbing, and the privilege nobody counted
Endor Labs escaped isolated-vm starting from a single reference handle. The projects that adopted it run model-generated code inside processes that hold real access.
Written for builders.See today for builders

What happened
- Endor Labs disclosed a critical vulnerability (GHSA-864f-rcv7-6rh4, CVE pending) in isolated-vm: a type confusion in ExternalCopy's handling of the transferList option lets code inside the sandbox corrupt memory in the host process.
- Starting from nothing but a single ivm.Reference, the standard way hosts hand a sandbox any capability at all, Endor Labs escalated from a controlled-address crash to hijacking the host's control flow, a full guest-to-host sandbox escape.
- According to Endor Labs, the isolation primitive itself was not broken: V8's Isolate boundary held, and what failed was the C++ glue code that marshals values across that boundary.
- n8n (200k GitHub stars) runs untrusted Code-node scripts in sandboxed task runners and recommends isolated-vm for that isolation.
- Mastra (27k GitHub stars), an AI agent framework, uses isolated-vm in its code mode to run model-generated tool-orchestration code inside a real V8 isolate.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
Stars measure attention, not installs, so 344,000 is a proxy and nothing more [10]. What makes it worth adding up is that all six projects made the same defensible call: leave vm2, which collected more than twenty documented breakouts before it was deprecated, and move to a real V8 Isolate [18][1]. The payoff for that decision was supposed to be that failures stop being architectural. It held. The Isolate boundary did not break; the C++ code marshalling values across it did [3].
The escalation path matters more than the count. Endor Labs started from a single ivm.Reference, which is the standard mechanism a host uses to grant a sandbox any capability at all, and finished with control of the host's execution flow [2]. The library's own security notes already warned that leaking such an object to untrusted code is usually a trivial springboard back into the Node isolate, yielding complete control of the process [11]. The change is that the springboard is now a type confusion in ExternalCopy's transferList handling rather than embedder carelessness [1].
So the quantity that matters is not the sandbox, it is the grant wrapped around it. In Mastra's code mode the code inside the isolate is written by a model [5]. In Sim.ai's Function blocks, isolated-vm is the component expected to block SSRF and host access [8]. Whatever credentials and network reach the enclosing Node process holds become reachable when the glue fails.
The same inheritance appears one layer out, in a product with no connection to this library. OpenAI's Apple Messages plugin needs Full Disk Access, contact access, and automation permissions to read and send messages on a Mac [14]. Apple requires those grants precisely because accessibility and automation can circumvent other protections [15]. Developer testing of the Full Disk Access list found that whitelisting an app extends its access to child processes it launches [16]. Send still requires per-message approval, and OpenAI advises against making that approval persistent [17].
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Endor Labs disclosed a critical vulnerability (GHSA-864f-rcv7-6rh4, CVE pending) in isolated-vm: a type confusion in ExternalCopy's handling of the transferList option lets code inside the sandbox corrupt memory in the host process.
- [2]
Starting from nothing but a single ivm.Reference, the standard way hosts hand a sandbox any capability at all, Endor Labs escalated from a controlled-address crash to hijacking the host's control flow, a full guest-to-host sandbox escape.
- [3]
According to Endor Labs, the isolation primitive itself was not broken: V8's Isolate boundary held, and what failed was the C++ glue code that marshals values across that boundary.
- [4]
n8n (200k GitHub stars) runs untrusted Code-node scripts in sandboxed task runners and recommends isolated-vm for that isolation.
ReportedView cited source - [5]
Mastra (27k GitHub stars), an AI agent framework, uses isolated-vm in its code mode to run model-generated tool-orchestration code inside a real V8 isolate.
ReportedView cited source - [6]
Activepieces (23k GitHub stars) uses isolated-vm to sandbox the JavaScript in its automation pieces, restricting them to browser-like semantics with no Node.js APIs.
ReportedView cited source
Sources & coverage · 5 publishers
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- macrumors.comyesterdayChatGPT Can Now Read and Send iMessages on Mac - MacRumors

