Sandbox-Ausbruch statt sicherer Isolation

Schwachstelle in isolated-vm erlaubt Ausbruch aus JavaScript-Sandbox

CVE-2023-4911, Looney Tunables, Schwachstelle, Sicherheitslücke

Sicherheitsforscher haben eine kritische Schwachstelle im populären Open-Source-Sandbox-Werkzeug isolated-vm offengelegt.

Isolated-vm ist eine Node.js-Bibliothek zur Ausführung nicht vertrauenswürdigen JavaScript-Codes innerhalb eines eigenständigen V8-Isolats, wodurch sich mehrere Sandbox-Umgebungen parallel und ohne gegenseitige Dateneinsicht betreiben lassen. Das zugehörige npm-Paket verzeichnete zuletzt fast eine Million Downloads pro Woche. Da jedes V8-Isolat einen eigenen Speicherbereich besitzt, lassen sich JavaScript-Objekte nicht direkt zwischen Host und Sandbox übergeben, wofür isolated-vm die Komponente ExternalCopy zur sicheren Serialisierung bereitstellt. Genau dort fanden Forscher von Endor Labs die Schwachstelle: Eine fehlerhafte Typprüfung bei der Verarbeitung der sogenannten transferList-Option erlaubte es Code innerhalb der Sandbox, Speicher im Host-Prozess zu beschädigen.

Anzeige

Endor-Labs-Forscher Cristian-Alexandru Staicu, der die Lücke entdeckte und meldete, beschrieb das Ausmaß so: Ausgehend von nichts weiter als einer einzelnen, üblicherweise von Hosts vergebenen ivm.Reference habe sich der Fehler bis zur vollständigen Übernahme der Kontrolle über den Host-Prozess ausbauen lassen. Die als GHSA-864f-rcv7-6rh4 geführte Schwachstelle betrifft sämtliche Versionen bis einschließlich 7.0.0 und wurde bereits in den Versionen 6.2.0 sowie 7.0.1 behoben.

Schwachstelle: Von Denial-of-Service bis zur potenziellen Codeausführung

Projektbetreuer Marcel Laverdet ordnete die Auswirkungen in einer Sicherheitsmitteilung ein:

„Im geringsten Fall lasse sich zuverlässig ein kontrollierter Absturz des Host-Prozesses auslösen, im schlimmsten Fall eine vollständige Übernahme des Kontrollflusses und damit potenziell eine Codeausführung auf dem Host selbst.“

Anzeige

Marcel Laverde, Projektbetreuer

Nutzern von isolated-vm wird empfohlen, umgehend auf die aktuelle Version zu aktualisieren. Weitergehende technische Details zur vollständigen Ausnutzung der Lücke wurden bewusst zurückgehalten, um Nachahmungstäter nicht zu unterstützen.

Staicu betonte abschließend, dass nicht die eigentliche Isolationsgrenze von V8 versagt habe, sondern die dazwischenliegende C++-Anbindung, die Werte über diese Grenze hinweg vermittelt. Ein grundsätzlich solider Baustein sei demnach durch die umgebende Anbindungsschicht untergraben worden.

(red)

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.