„`html
Zusammenfassung
CVE-2026-47137 ist eine kritische Sicherheitslücke in vm2 (Open-Source VM/Sandbox für Node.js), die vor Version 3.11.4 existiert. Die Vulnerabilität ermöglicht es Angreifern, einen unzureichenden Sicherheitsmechanismus zu umgehen, der die kombinierte Verwendung von nesting: true und require: false verhindern soll. Durch gezieltes Weglassen der require-Option kann dieser Check trivial umgangen werden.
Betroffene Systeme
Betroffen sind alle Installationen der vm2-Library mit Versionen vor 3.11.4. Dies umfasst insbesondere Node.js-Anwendungen, die vm2 für Code-Sandboxing nutzen. Das Ausmaß der Betroffenheit ist erheblich, da vm2 häufig in Produktionsumgebungen für die sichere Isolierung von Benutzercode eingesetzt wird.
Technische Details
Die SicherheitslĂĽcke besteht in einer fehlerhaften Validierungslogik in der Datei nodevm.js an Zeile 263. Der ursprĂĽngliche Patch fĂĽr GHSA-8hg8-63c5-gwmx implementiert eine ĂśberprĂĽfung mit strikter Gleichheit (===), die nur auf den expliziten Wert false prĂĽft:
if (options.require === false)
Das Problem: Wenn die require-Option nicht angegeben wird, ist options.require undefined, nicht false. Die Überprüfung schlägt fehl, und der Sicherheitsmechanismus wird umgangen. Unmittelbar danach (Zeile 280) wird durch Destrukturierung mit Default-Wert require: requireOpts = false genau die Konfiguration hergestellt, die der Patch verhindern sollte.
Empfohlene Massnahmen
- Sofortige Aktualisierung auf vm2 Version 3.11.4 oder höher
- Überprüfung aller Anwendungen auf vm2-Abhängigkeiten in der
package.json - DurchfĂĽhrung eines Security-Audits fĂĽr Systeme, die vm2 mit
nesting: truenutzen - Implementierung zusätzlicher Input-Validierungsmechanismen
Bewertung
CVSS-Score: 10.0 (Critical)
Die maximale Kritikalität ist gerechtfertigt, da die Vulnerability eine vollständige Umgehung der Sandbox-Sicherheit ermöglicht und Angreifern Remote Code Execution mit erhöhten Privilegien erlaubt.
„`