CVE-2026-47135
Full vulnerability record from the local CVENow database.
Description
vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, Symbol.for override in setup-sandbox.js only intercepts 2 of 9 dangerous Node.js cross-realm symbols. Combined with the bridge's set/defineProperty/deleteProperty traps having no isDangerousCrossRealmSymbol key check, sandbox code can obtain real cross-realm symbols, write them to host objects, and control host-side behavior — verified with a full util.promisify hijack chain. This issue has been patched in version 3.11.4.
Severity
HIGH
CVSS score
8.7
(v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-06-12 15:16:28.007000
Last modified
2026-10-26 11:10:00.157000
View original CVE JSON
{
"id": "CVE-2026-47135",
"sourceIdentifier": "[email protected]",
"published": "2026-06-12T15:16:28.007",
"lastModified": "2026-10-26T11:10:00.157",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, Symbol.for override in setup-sandbox.js only intercepts 2 of 9 dangerous Node.js cross-realm symbols. Combined with the bridge's set/defineProperty/deleteProperty traps having no isDangerousCrossRealmSymbol key check, sandbox code can obtain real cross-realm symbols, write them to host objects, and control host-side behavior — verified with a full util.promisify hijack chain. This issue has been patched in version 3.11.4."
},
{
"lang": "es",
"value": "vm2 es una máquina virtual/sandbox de código abierto para Node.js. Antes de la versión 3.11.4, la anulación de Symbol.for en setup-sandbox.js solo interceptaba 2 de los 9 símbolos peligrosos de Node.js entre reinos (cross-realm). Combinado con el hecho de que las trampas set/defineProperty/deleteProperty del puente no realizaban una comprobación de clave isDangerousCrossRealmSymbol, el código de la sandbox podía obtener símbolos reales entre reinos (cross-realm), escribirlos en objetos del host y controlar el comportamiento del lado del host - verificado con una cadena completa de secuestro de util.promisify. Este problema ha sido parcheado en la versión 3.11.4."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "patriksimek",
"product": "vm2",
"versions": [
{
"version": "< 3.11.4",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.2,
"impactScore": 5.8
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-06-12T00:00:00+00:00",
"id": "CVE-2026-47135",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-693"
}
]
}
],
"references": [
{
"url": "https://github.com/patriksimek/vm2/commit/928aef51898b5c52a05f05a40c4cfeb52e172878",
"source": "[email protected]"
},
{
"url": "https://github.com/patriksimek/vm2/releases/tag/v3.11.4",
"source": "[email protected]"
},
{
"url": "https://github.com/patriksimek/vm2/security/advisories/GHSA-m5q2-4fm3-vfqp",
"source": "[email protected]"
}
]
}