Cybersecurity-Forscher von Palo Alto Networks Unit 42 haben Details über eine neue Sicherheitslücke in Microsofts Service Fabric veröffentlicht, die ausgenutzt werden kann, um erhöhte Rechte zu erhalten und die Kontrolle über alle Knoten in einem Cluster zu übernehmen.

Die Schwachstelle mit dem Namen FabricScape (CVE-2022-30137) kann in Containern ausgenutzt werden, die für den Laufzeitzugriff konfiguriert sind. Sie wurde mit dem 14. Juni 2022 in Service Fabric 9.0 Cumulative Update 1.0 behoben.

Azure Service Fabric ist Microsofts Platform-as-a-Service (PaaS) und eine Container-Orchestrator-Lösung, mit der Microservices-basierte Cloud-Anwendungen in einem Cluster von Maschinen erstellt und bereitgestellt werden können.

„Die Schwachstelle ermöglicht es einem böswilligen Akteur, der Zugang zu einem kompromittierten Container hat, seine Privilegien zu erweitern und die Kontrolle über den Host-SF-Knoten der Ressource und den gesamten Cluster zu erlangen“, so Microsoft im Rahmen des koordinierten Offenlegungsprozesses.

„Obwohl der Fehler auf beiden Betriebssystemplattformen vorhanden ist, kann er nur unter Linux ausgenutzt werden; Windows wurde gründlich untersucht und ist nicht anfällig für diesen Angriff.

Ein Service Fabric-Cluster ist ein über ein Netzwerk verbundener Satz von mehreren Knoten (Windows Server oder Linux), von denen jeder dazu dient, Anwendungen zu verwalten und auszuführen, die aus Microservices oder Containern bestehen.

Die von Unit 42 identifizierte Schwachstelle befindet sich in einer Komponente namens Diagnostics Collection Agent (DCA), die für das Sammeln von Diagnoseinformationen zuständig ist und sich auf ein sogenanntes „Symlink Race“ bezieht.

In einem hypothetischen Szenario könnte ein Angreifer, der Zugriff auf einen kompromittierten Container-Workload hat, eine vom Agenten gelesene Datei („ProcessContainerLog.txt“) durch einen bösartigen symbolischen Link ersetzen, der dann jede beliebige Datei überschreiben könnte, wenn DCA als Root auf dem Knoten läuft.

„Obwohl dieses Verhalten sowohl in Linux- als auch in Windows-Containern zu beobachten ist, kann es nur in Linux-Containern ausgenutzt werden, da unprivilegierte Akteure in Windows-Containern keine symbolischen Links erstellen können“, erklärt Aviv Sasson, Forscher bei Unit 42.

Die Codeausführung wird anschließend erreicht, indem die Schwachstelle ausgenutzt wird, um die Datei „/etc/environment“ auf dem Host zu überschreiben. Anschließend wird ein interner stündlicher Cronjob ausgenutzt, der als Root läuft, um bösartige Umgebungsvariablen zu importieren und ein bösartiges gemeinsames Objekt auf dem kompromittierten Container zu laden, das dem Angreifer eine Reverse Shell im Kontext von Root gewährt.

„Um Code ausführen zu können, haben wir eine Technik namens Dynamic Linker Hijacking verwendet. Wir haben die Umgebungsvariable LD_PRELOAD missbraucht“, erklärt Sasson. „Während der Initialisierung eines neuen Prozesses lädt der Linker das gemeinsame Objekt, auf das diese Variable zeigt, und damit injizieren wir gemeinsame Objekte in die privilegierten Cron-Jobs auf dem Knoten.

Obwohl es bisher keine Beweise dafür gibt, dass die Schwachstelle in realen Angriffen ausgenutzt wurde, ist es wichtig, dass Unternehmen sofort Maßnahmen ergreifen, um festzustellen, ob ihre Umgebungen anfällig sind und die Patches zu implementieren.