In der Zusammenfassung dieser Woche werden wir diskutieren:
- Linode Terraform (TF) Provider Deterministische Passworterstellung
- Apache Commons Text Remote Code Execution (RCE)
- Vm2 Sandbox Flucht nach RCE
Linode Terraform Provider erstellt ein nicht-gesichertes deterministisches Passwort
Eine Sicherheitslücke wurde im Linode Terraform Provider entdeckt, einem Plugin, das für die automatische Bereitstellung von Linode-Instanzen mit Terraform entwickelt wurde. Terraform ist ein IaC-Tool, das sich auf das Erstellen, Ändern und Zerstören von Servern konzentriert, anstatt die Software auf diesen Servern zu verwalten.
Die Sicherheitslücke betrifft Linodes, die mit dem Terraform Plugin Version v1.29.3 erstellt wurden. Wenn im Anbieter Terraform eine Linode ohne Angabe eines Root-Passworts erstellt wird, verwendet der TF-Anbieter ein zufällig generiertes Passwort. Die betroffene Plugin-Version scheint aufgrund einer Änderung unserer Passwort-Generierungsfunktionalität deterministische Passwörter zu erzeugen. Die verwundbare Komponente beinhaltete die Verwendung des Pakets math/rand Go anstelle des Pakets crypto/rand für die Erzeugung zufälliger Passwörter. Außerdem wurde das math/rand-Paket nicht mit Seed versehen.
Um Ihre zukünftigen Einsätze zu schützen, aktualisieren Sie bitte das Linode Terraform Provider Tool auf die neueste Version, derzeit v1.29.4. Wenn Sie nicht in der Lage sind, sofort zu aktualisieren, können Sie auch das Root-Passwort auf den Instanzen ändern, die über das betroffene Plugin bereitgestellt werden.
Wenn Sie weitere Unterstützung benötigen oder Fragen haben, wenden Sie sich bitte an support@linode.com.
Apache Commons Text Remote Code Execution (RCE)
Apache Commons Text performs variable interpolation, allowing properties to be dynamically evaluated and expanded. The standard format for interpolation is “${prefix:name}”, where “prefix” is used to locate an instance of org.apache.commons.text.lookup.StringLookup that performs the interpolation.
CVE-2022-42889 ist ein Remote-Code-Ausführung, die in Apache Commons Text Version 1.5 bis 1.9, wo die Menge der standardmäßigen Lookup-Instanzen (von der StringSubstitutor Klasse) enthalten Interpolatoren, die in beliebigen Code-Ausführung oder Kontakt mit Remote-Servern führen könnte. Die verwundbaren Lookups sind:
- "script" - Führt Ausdrücke unter Verwendung der JVM-Skriptausführungsmaschine (javax.script) aus.
- "dns" - Löst DNS-Einträge auf
- "url" - Werte aus URLs laden
Darüber hinaus können alle Remote-Server-Anwendungen, die Interpolationsvorgaben in den betroffenen Versionen verwenden, anfällig für Remote-Code-Ausführung oder unbeabsichtigten Kontakt mit Remote-Servern sein, wenn nicht vertrauenswürdige Konfigurationswerte verwendet werden.
Um festzustellen, ob Sie diese Bibliothek installiert haben, führen Sie `find / -type f -name 'commons-text*.jar'` aus, was uns jede .jar-Datei mit dem Präfix commons-text liefert.
Die Korrektur ist ab Apache Commons Text 1.10.0 verfügbar. Die Korrektur deaktiviert standardmäßig die Interpolatoren für DNS, URL und Skript-Lookup . Es können auch andere Abhilfemaßnahmen angewendet werden, z. B. die Bereinigung von Eingaben an Stellen, an denen Sie nicht vertrauenswürdige Daten akzeptieren und verarbeiten.
Vm2 Sandbox Flucht nach RCE
vm2 ist ein weit verbreitetes npm-Paket, das als Sandbox fungiert, in der Sie nicht vertrauenswürdigen Code mit den in Node integrierten Modulen auf der Erlaubnisliste ausführen können. Dieses Paket ist mit über 16 Millionen Downloads pro Monat sehr beliebt, was es zu einer lohnenswerten Schwachstelle macht, die gegen eine Anwendung mit installiertem vm2-Paket eingesetzt werden kann.
CVE-2022-36067 ist eine entfernte Codeausführung, die in der vm2-Sandbox-Bibliothek besteht, bei der ein Benutzer die Sandbox von vm2 umgehen und Zugriff auf den Host erhalten könnte, auf dem die Sandbox läuft. Die Sicherheitslücke betrifft derzeit die Versionen 3.9.10 und darunter.
Diese Schwachstelle betrifft die Verwendung der prepareStackTrace-Methode, einer Funktion, die es Entwicklern ermöglicht, den Aufrufstapel eines in der Anwendung aufgetretenen Fehlers anzupassen. Die prepareStackTrace-Methode ist ein "Error"-Konstruktor, der ein "Error"-Objekt erzeugt. Wenn ein Fehler auftritt und auf die "Stack"-Eigenschaft des ausgelösten Fehlerobjekts zugegriffen wird, ruft Node.js diese Methode auf und übergibt ihr eine String-Darstellung des Fehlers sowie ein Array von "CallSite"-Objekten als Argumente.
Die Forscher begannen damit, das globale Error-Objekt mit ihrem eigenen Objekt zu überschreiben. Dieses neue Objekt ermöglicht es dem Angreifer, die Funktion prepareStackTrace zu verwenden, um eine nicht sandboxfähige Funktion namens "getThis" zu nutzen, die für die Rückgabe des "this"-Objekts in einem Stackframe verwendet wird. Dieses Stack-Frame-Objekt ist ein nicht sandboxfähiges Objekt, das es einem Angreifer ermöglichen könnte, Funktionen auszuführen, die die Sandbox umgehen und Code auf dem Host ausführen, auf dem der Code ausgeführt wird.
Der Fix ist ab vm2 3.9.11 verfügbar.
Kommentare