Kritische Schwachstellen in vm2 brechen die Sandbox und setzen Sie Ihre Infrastruktur aus

Veröffentlicht 4 min de lectura 100 Lesen

Ein Dutzend kritische Schwachstellen haben den Fokus auf vm2, die Node.js-Bibliothek ersetzt, die am häufigsten verwendet wird, um unzuverlässige JavaScript-Code innerhalb einer "Sandbox" auszuführen. Die Fehler erlauben es, aus dem logischen Container zu entkommen, beliebigen Code im Host auszuführen etwas, das das Versprechen der Buchhandlung völlig bricht. Der Entwickler hält ständige Patches aufrecht, und die Nutzer müssen verstehen, dass die Bedrohung nicht theoretisch ist: mehrere der erfassten Fehler erreichen CVSS-Ratings von 9.8-10.0, was ein hohes Risiko für die Fernausbeutung und den einfachen Missbrauch anzeigt.

Technisch folgen die ausgenutzten Schwachstellen nicht einem einzigen Muster, sondern den Feinheiten des eigenen dynamischen JavaScript-Modells: Geters wie "_ _ lookupGetter _", spezielle Eigenschaftsmanipulationen wie "Spezies" in Promises, String-Symbol-Coertions, die steuerbare Fehler auslösen, Inspektionsfunktionen, die Host-Referenzen zurückgeben, Ausnahmen mit Null-Prototypen und Injektionsvektoren durch Proxy-Handler. Gemeinsam ermöglichen diese Routen die Wiederherstellung von Objekten aus der Wirtsumgebung, die Bestäubung von Prototypen und schließlich die Verwendung sensibler APIs (z.B. Kind _ Prozess)., die ein scheinbar harmloses Skript in eine Eingabetür zur Befehlsausführung und Datenleckage verwandelt.

Kritische Schwachstellen in vm2 brechen die Sandbox und setzen Sie Ihre Infrastruktur aus
Bild generiert mit IA.

Wer ist in Gefahr? Jede Anwendung, die vm2 in irgendeiner verletzlichen Version enthält - laut Berichten, die betroffenen Zweige erreichen die 3.10.x / 3.11.1 Serie abhängig von der CVE - oder das hängt vorübergehend von Paketen, die sie wiederum verwenden. Wenn Ihre Infrastruktur Drittanbieter-Code, Plugins oder Benutzer-Vorlagen innerhalb vm2 ausführt, ist die Dringlichkeit maximal weil ein Angreifer Vektoren in Skala testen kann, entweder durch das Senden von schädlichen Nutzlasten oder durch die Nutzung von öffentlichen Betriebsbibliotheken.

Die erste konkrete und vorrangige Maßnahme ist die Aktualisierung: die jüngsten Patches werden vom Betreuer veröffentlicht und die operationelle Empfehlung besteht darin, auf die angegebene sichere Version (3.11.2 gemäß der Mitteilung) zu migrieren. Neben der Aktualisierung des Pakets. Json. Rekonstruieren und Rekonstruieren von Containerbildern, regenerieren von Schlossdateien und Anzeigen in Ihren CI / CD-Umgebungen, um zu verhindern, dass eine alte Version in einem Zweig oder Bild in der Produktion bleiben. Verwenden Sie Geräte-Inventartools (z.B. npm ls vm2) und Pipeline-Verwundbarkeits-Scanner, um direkte und transiente Einrichtungen zu identifizieren.

Updating ist notwendig, aber nicht genug: das Plattformdesign muss annehmen, dass Sandboxen ausfallen können. Als vertiefte Verteidigungsmaßnahmen, betrachten Sie Laufprozesse, die unzuverlässigen Code in stark isolierten Umgebungen (virtuelle Maschinen, Container mit seccomp-Richtlinien und Schnittkapazitäten, oder sogar dedizierte Knoten ohne montierte Geheimnisse). Beschränken Sie Privilegien, vermeiden Sie die Montage sensibler Anmeldeinformationen oder Steckdosen innerhalb der Sandbox und wenden Sie Netzwerk- und CPU / IO-Richtlinien an, die den Strahlradius reduzieren. Wenn die Last erlaubt, trennen Sie den Dienst, der Code in eine Domäne mit automatischer Überwachung und Neustart führt minimiert den Einfluss einer Operation.

Kritische Schwachstellen in vm2 brechen die Sandbox und setzen Sie Ihre Infrastruktur aus
Bild generiert mit IA.

Von der Erkennung und Reaktion, suchen Sie nach bestimmten Indikatoren: unerwartete Kind _ Prozessausführungen, Prozesse, die mit ungewöhnlichen Binaries, ausgehende Verbindungen von Umgebungen, wo sie nicht existieren sollten, und Änderungen in Dateien oder Konfigurationsschlüsseln kurz nach Ausführung von Aufgaben mit vm2. Überprüfen Sie Protokolle, aktive Warnungen von anormalem Verhalten und, wenn Sie vermuten Intrusion, rote Anmeldeinformationen und isolieren Sie die betroffenen Instanzen vor der Wiederherstellung von sicheren Bildern.

Für Wartungs- und Sicherheitsausrüstung von Buchhandlungen ist die Lektion klar: JavaScript Sandboxing ist fragil von der Natur und erfordert kontinuierliche Tests, Fuzzing auf dynamische APIs (Gitter, Proxies, Symbol Coercions) und ein verantwortliches Bug-Bounce- oder Outreach-Programm, das die Feststellung von Bypasses belohnt und beschleunigt. Der vm2 Betreuer selbst hat erkannt, dass neue Ausweichungen erscheinen, so Eine aktive Überwachungs- und Minderungsrotation ist ein wesentlicher Bestandteil des Projektlebenszyklus.

Wenn Sie auf der Suche nach offiziellen Quellen und Ressourcen sind, um jetzt zu handeln, sehen Sie das Projekt-Repository in GitHub für die neuesten Version Notizen und Patches, und Node.js Sicherheitsführer für beste Bereitstellung und Isolation Praktiken. vm2 in GitHub und Node.js Sicherheitsführer sind nützliche Startpunkte; kombinieren Sie das Update mit Unit Audits und automatische Scanner-Integration in Ihre CI / CD, um das Belichtungsfenster zu reduzieren.

Deckung

Verwandte Artikel

Weitere Neuigkeiten zum selben Thema.