Die Ursache der Schwachstelle liegt nach Angaben des CERT Coordination Center (CERT/CC) im Durchlaufen der JavaScript-Prototypenkette innerhalb der WebAssembly-Umgebung von Pyodide. Darüber lässt sich Code mit erhöhten Rechten auf dem zugrunde liegenden Node.js-Prozess des Hosts ausführen.

Gelingt ein Angriff, kann ein Angreifer die Grenzen der Sandbox durchbrechen und innerhalb des Containers beliebige Systembefehle als Root absetzen. Darüber hinaus ist der unbefugte Zugriff auf sensible Dateien wie „/etc/passwd" möglich, ebenso das Erreichen anderer Dienste im Netzwerk des Containers. Auch ein Ausbruch aus dem Container und eine weitere Rechteausweitung sind denkbar.

Für die Ausnutzung ist lokaler Zugriff auf das System erforderlich. Eine Nutzerinteraktion oder besondere Berechtigungen sind hingegen nicht nötig.

Terrarium läuft auf Pyodide und unterstützt damit standardmäßige Python-Pakete. Das Projekt wurde 56-mal geforkt und 312-mal mit einem Stern markiert. Da es nicht mehr aktiv betreut wird, gilt eine Behebung der Lücke als unwahrscheinlich; das CERT/CC verweist daher auf Gegenmaßnahmen für Anwender.

SentinelOne ordnet den technischen Hintergrund so ein: Die Sandbox verhindere den Zugriff auf übergeordnete oder globale Objekt-Prototypen nicht ausreichend, sodass Code innerhalb der Sandbox Objekte in der Host-Umgebung referenzieren und manipulieren könne. Diese als Prototype Pollution beziehungsweise Prototypen-Durchlauf bekannte Technik umgehe die vorgesehenen Sicherheitsgrenzen der Sandbox.