CVE-2026-47209: CWE-693: Protection Mechanism Failure in patriksimek vm2
vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, the BaseHandler.set trap in bridge.js (line 1231) ignores the receiver parameter and unconditionally writes to the host target object. Per the Proxy set trap specification, when receiver !== proxy (e.g., when a child object inherits from the proxy via Object.create), the property assignment should create an own property on the receiver, not on the proxy target. The current implementation always calls otherReflectSet(object, key, value) against the host target, causing all inherited property writes to leak through to the host object. This bug provides an alternative attack vector for writing dangerous cross-realm Symbol keys (e.g., nodejs.util.promisify.custom) to host objects, bypassing any future per-trap isDangerousCrossRealmSymbol guard on the direct set path. This issue has been patched in version 3.11.4.
AI Analysis
Technical Summary
The vm2 Node.js sandbox prior to version 3.11.4 contains a protection mechanism failure (CWE-693) in the BaseHandler.set trap implementation within bridge.js. The set trap does not respect the receiver parameter as required by the Proxy specification. When the receiver is different from the proxy (such as when a child object inherits from the proxy), property assignments incorrectly write directly to the host target object instead of creating an own property on the receiver. This flaw allows attackers to write dangerous cross-realm Symbol keys (e.g., nodejs.util.promisify.custom) to host objects, circumventing potential future security guards on direct set operations. The vulnerability is rated high severity with a CVSS 3.1 score of 8.6 and was fixed in vm2 version 3.11.4.
Potential Impact
Exploitation of this vulnerability can lead to unauthorized modification of host objects by writing dangerous cross-realm Symbol keys. This undermines the sandbox's isolation guarantees and could allow attackers to bypass security checks that rely on property assignment controls. The vulnerability does not impact confidentiality or availability directly but poses a high integrity risk within the sandbox environment.
Mitigation Recommendations
A fix for this vulnerability is available in vm2 version 3.11.4. Users should upgrade to version 3.11.4 or later to remediate this issue. No other mitigation steps are indicated by the vendor advisory or source data.
CVE-2026-47209: CWE-693: Protection Mechanism Failure in patriksimek vm2
Description
vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, the BaseHandler.set trap in bridge.js (line 1231) ignores the receiver parameter and unconditionally writes to the host target object. Per the Proxy set trap specification, when receiver !== proxy (e.g., when a child object inherits from the proxy via Object.create), the property assignment should create an own property on the receiver, not on the proxy target. The current implementation always calls otherReflectSet(object, key, value) against the host target, causing all inherited property writes to leak through to the host object. This bug provides an alternative attack vector for writing dangerous cross-realm Symbol keys (e.g., nodejs.util.promisify.custom) to host objects, bypassing any future per-trap isDangerousCrossRealmSymbol guard on the direct set path. This issue has been patched in version 3.11.4.
CVSS v3.1
Score 8.6high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vm2 Node.js sandbox prior to version 3.11.4 contains a protection mechanism failure (CWE-693) in the BaseHandler.set trap implementation within bridge.js. The set trap does not respect the receiver parameter as required by the Proxy specification. When the receiver is different from the proxy (such as when a child object inherits from the proxy), property assignments incorrectly write directly to the host target object instead of creating an own property on the receiver. This flaw allows attackers to write dangerous cross-realm Symbol keys (e.g., nodejs.util.promisify.custom) to host objects, circumventing potential future security guards on direct set operations. The vulnerability is rated high severity with a CVSS 3.1 score of 8.6 and was fixed in vm2 version 3.11.4.
Potential Impact
Exploitation of this vulnerability can lead to unauthorized modification of host objects by writing dangerous cross-realm Symbol keys. This undermines the sandbox's isolation guarantees and could allow attackers to bypass security checks that rely on property assignment controls. The vulnerability does not impact confidentiality or availability directly but poses a high integrity risk within the sandbox environment.
Mitigation Recommendations
A fix for this vulnerability is available in vm2 version 3.11.4. Users should upgrade to version 3.11.4 or later to remediate this issue. No other mitigation steps are indicated by the vendor advisory or source data.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-05-18T22:25:21.257Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a2c1a23e617e2d8347eb1f1
Added to database: 6/12/2026, 2:39:31 PM
Last enriched: 6/12/2026, 2:55:06 PM
Last updated: 6/13/2026, 4:57:20 AM
Views: 10
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.