Die Sicherheitslücke CVE-2026-26956 betrifft vm2 in der Version 3.10.4 und möglicherweise auch frühere Versionen. Das Angriffsszenario ist bemerkenswert spezifisch: Die Lücke manifestiert sich nur in Umgebungen mit Node.js 25 (bestätigt auf Version 25.6.1), die WebAssembly-Exception-Handling und JSTag-Support aktiviert haben.
vm2 ist eine weit verbreitete Open-Source-Bibliothek, die dazu dient, nicht vertrauenswürdigen JavaScript-Code in einer isolierten Sandbox-Umgebung auszuführen. Sie schirmt Sandbox-Code vom Host-System ab und blockiert den Zugriff auf sensitive Node.js-APIs wie “process” und das Dateisystem.
Die technische Ursache der Lücke liegt in der fehlerhaften Behandlung von Exceptions, die zwischen der Sandbox und dem Host-System übertragen werden. vm2 verlässt sich normalerweise auf JavaScript-basierte Sicherheitsmechanismen und sogenannte “Bridge Proxies”, die Cross-Context-Objekte abwickeln. Diese Schutzmaßnahmen funktionieren jedoch auf JavaScript-Ebene.
Angreifer können WebAssembly-Exception-Handling nutzen, um JavaScript-Fehler auf einer tieferen Ebene innerhalb der V8-Engine von Google zu interceptieren. Dies umgeht vm2s JavaScript-basierte Sicherheitsverteidigungen vollständig. Durch eine speziell präparierte TypeError-Auslösung mittels Symbol-zu-String-Konvertierung können Angreifer ein unsanitiertes Error-Objekt von der Host-Seite zurück in die Sandbox lecken. Da dieses Objekt aus der Host-Umgebung stammt, können Angreifer dessen Constructor-Kette missbrauchen, um Zugriff auf Node.js-Internals wie das “process”-Objekt zurückzugewinnen – mit direkter Folge: Beliebige Befehlsausführung auf dem Host-System.
Die Wartungs-Advisory enthält einen funktionsfähigen Proof-of-Concept-Exploit, der Remote-Code-Execution nachweist. Benutzer sollten dringend auf Version 3.10.5 oder neuer (aktuell 3.11.2) aktualisieren.
Besonders besorgniserregend: Dies ist nicht das erste Mal. Anfang dieses Jahres betraf die Lücke CVE-2026-22709 vm2 mit ähnlicher Kritikalität. Frühere Sandbox-Escape-Fehler umfassen CVE-2023-30547, CVE-2023-29017 und CVE-2022-36067. Diese Serie zeigt ein fundamentales Problem: JavaScript-Sandbox-Isolation ist extrem schwierig zu sichern.
