<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Vm2 (&lt;= 3.12.1) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/vm2--3.12.1/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 06 Oct 2026 00:44:32 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/vm2--3.12.1/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Critical Sandbox Escape in vm2 via Node.js Buffer Pool</title><link>https://feed.craftedsignal.io/briefs/2026-10-vm2-sandbox-escape/</link><pubDate>Tue, 06 Oct 2026 00:44:32 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-vm2-sandbox-escape/</guid><description>A vulnerability in the vm2 library (CVE-2026-92947) allows sandboxed code to bypass security boundaries by reading and writing to the host-realm memory shared through Node.js Buffer pools.</description><content:encoded><![CDATA[<p>The vm2 library, a popular JavaScript sandbox for Node.js, contains a critical security vulnerability (CVE-2026-92947) that enables sandbox escape. The flaw arises because vm2 exposes the Node.js <code>Buffer</code> object to sandboxed code by default. In Node.js, small <code>Buffer</code> allocations - including <code>Buffer.from</code>, <code>Buffer.concat</code>, and <code>Buffer.allocUnsafe</code> - utilize a shared internal memory pool. Because the sandbox and host share this pool, an attacker capable of executing arbitrary code within the vm2 sandbox can reference the underlying <code>ArrayBuffer</code> used by the host process. This allows the attacker to read host memory, leading to sensitive data disclosure, or write to host memory, potentially corrupting application state and leading to denial-of-service or further privilege escalation. This affects all versions of vm2 up to and including 3.11.6.</p>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows for the cross-realm disclosure of sensitive data processed by the host application, such as authentication tokens, user data, or API keys. Furthermore, the ability for an attacker to perform unauthorized writes to the host-realm memory provides a vector for full sandbox escape, as an attacker can manipulate host process objects or execute arbitrary code outside the restricted sandbox environment. This poses a significant risk to any application that uses vm2 to evaluate untrusted user-provided JavaScript code.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the vm2 package to the latest version that addresses CVE-2026-92947, or if no patch is available, migrate to a more secure sandboxing alternative.</li>
<li>Implement strict input validation and sanitization for all code passed into the vm2 sandbox, though this is not a complete mitigation for the identified memory-sharing flaw.</li>
<li>Apply the principle of least privilege to the Node.js host process by limiting access to sensitive memory, files, and network resources to reduce the potential impact of a sandbox escape.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>sandbox-escape</category><category>nodejs</category><category>vulnerability</category><category>privilege-escalation</category><category>denial-of-service</category><category>sandbox</category><category>javascript</category><category>cve-2026-100722</category></item></channel></rss>