Pünktlich zu den Osterfeiertagen machten Berichte über eine hochkritische Sicherheitslücke in der weit verbreiteten JavaScript Sandbox mit dem Namen „vm2“ die Runde. Durch gezieltes Auslösen eines Fehlers in einer Funktion dieses weit verbreiteten Softwarepakets können Angreifer aus der Umgebung ausbrechen, in der JavaScript normalerweise ausgeführt wird.
Dieser Ausbruch ermöglicht nicht nur den Zugriff auf Bereiche des Betriebssystems, die für den ausgeführten Programmcode normalerweise unsichtbar sind, sondern gibt einem Angreifer auch die Möglichkeit, eigenen Code auf dem System auszuführen. Diese Schwachstelle betrifft alle Versionen, die älter als Version 3.9.15 sind
Es existiert kein Workaround für diese Sicherheitslücke. Der einzige Weg, diese zu beheben, ist die aktuellste Version des Pakets zu installieren, in welcher die Schwachstelle nicht mehr existiert. Diese Version trägt die Versionsnummer 3.9.15.
Sandbox - was ist das?
Sandboxen (engl. „Sandkisten“) sind durch Software generierte virtuelle Umgebungen, in denen Programmcode ausgeführt werden kann. Sie stellen einem Programm gerade genug Funktionen zur Verfügung, dass sie lauffähig sind, schotten das Programm aber hermetisch vom eigentlichen Betriebssystem ab. So lässt sich auch nicht vertrauenswürdiger Code ausführen, ohne Schaden anzurichten. Gerade deshalb ist ein Ausbruch aus einer Sandbox auch so gefährlich.
Update: Neue hochkritische Schwachstelle
Nachdem die vorgenannten Sicherheitslücke bereits gepatcht war, wurden zwei neue hochkritische Schwachstellen gefunden. Die entsprechenden CVE-Nummern lauten CVE-2023-29199 und CVE-2023-30547.
In Version 3.9.16 ist zumindest die erstgenannte Schwachstelle CVE-2023-29199 behoben.