Schwachstelle in Argo CD

Cloud-Infrastruktur in Gefahr!

Die Continuous-Delivery-Plattform Argo CD beherbergt eine Schwachstelle, die Angreifern Datenzugriff ermöglichen kann – und mehr.
Von 
CSO | 08. Februar 2022 10:34 Uhr
Eine bekannt gewordene Schwachstelle in Argo CD unterstreicht die Gefahr, die von Sicherheitslecks in der Entwicklungs-Pipeline ausgeht.
Eine bekannt gewordene Schwachstelle in Argo CD unterstreicht die Gefahr, die von Sicherheitslecks in der Entwicklungs-Pipeline ausgeht.
Foto: sonsart - shutterstock.com

In Argo CD, einer weit verbreiteten Continuous-Delivery-Plattform für Kubernetes-Apps, wurde eine hochriskante Schwachstelle gefunden (und inzwischen behoben), die es Angreifern ermöglichen könnte, geheime Informationen aus Softwareprojekten abzugreifen.

Security-Forscher von Apiiro haben die Schwachstelle in Argo CD entdeckt und gemeldet. Wie die Experten berichten, können Angreifer eine böswillig erstellte Konfigurationsdatei für das Deployment von Kubernetes-Anwendungen in Argo einspeisen. Diese kann Dateien, Umgebungsvariablen und geheime Token vom zentralen Repository-Server offenlegen und dient potenziell als Basis für Privilege Escalation und weiteren, lateralen Bewegungen durch die Cloud-Infrastruktur von Unternehmen.

Argo CD: Die Schwachstelle im Detail

Argo CD ist ein von seiner Community gewartetes, deklaratives GitOps Continuous Delivery Tool für Kubernetes-Umgebungen. Die Plattform ermöglicht Entwicklern, ihre bereitgestellten Anwendungen mit verschiedenen Code-Zuständen in einem zentralen Git-Repository-Server zu synchronisieren. Oder wie die Macher es beschreiben: "Argo CD automatisiert die Bereitstellung der gewünschten Anwendungszustände in den angegebenen Zielumgebungen. Anwendungsimplementierungen können Aktualisierungen von Branches, Tags oder bestimmte Versionen von Manifesten bei einem Git-Commit tracken."

Argo läuft als Kubernetes-Controller, der den Zustand der bereitgestellten Anwendungen kontinuierlich überwacht und ihren Live-Zustand mit dem gewünschten Zustand aus dem Git-Repository abgleicht. Kommt es dabei zu Diskrepanzen, werden diese als "out of sync" gekennzeichnet und verschiedene Optionen zur Korrektur angeboten - entweder automatisiert oder manuell. Argo unterstützt verschiedene Definitionen der Anwendungsbereitstellung durch andere Werkzeuge:

  • Kustomize, ein Tool, um Kubernetes-Konfigurationen zu definieren;

  • Ksonnet, ein Framework, um Kubernetes Anwendungsmanifeste zu schreiben, freizugeben und bereitzustellen;

  • Jsonnet, eine Konfigurationssprache von Google, die eine Erweiterung von JSON darstellt und verwendet wird, um Datenvorlagen zu definieren;

  • einfache YAML/json-Manifeste;

  • Kubernetes-Helm-Diagramme; sowie

  • jedes benutzerdefinierte Konfigurationsmanagement-Tool, das als Plug-in integriert ist.

Die neu gepatchte Schwachstelle (CVE-2022-24348) nutzt die Interaktion von Argo CD mit Kubernetes Helm aus. Helm ist ein Paketmanager, der die Bereitstellung von Anwendungspaketen über Kubernetes ermöglicht und den Linux-Anwendungsmanagern apt oder yum ähnelt. "Ein Helm-Diagramm ist eine YAML-Datei, die verschiedene Felder enthält, um eine Deklaration von Ressourcen und Konfigurationen zu bilden, die für das Deployment einer Anwendung benötigt werden", erklären die Apiiro-Forscher in einem Advisory. "Die betreffende Anwendung kann diverse Werte enthalten, etwa Dateinamen und relative Pfade zu in sich geschlossenen Anwendungsteilen in anderen Dateien."

Die Schwachstelle wird mit einem CVSS-Score von 7,7 von 10 als hoch eingestuft. Alle Versionen von Argo CD sind betroffen - inzwischen wurden Patches für die Versionen 2.3.0, 2.2.4 und 2.1.9 veröffentlicht. In Anbetracht der steigenden Beliebtheit von Angriffen auf die Software-Lieferkette sollten Schwachstellen in Tools, die in der Softwareentwicklung oder der zugehörigen Infrastruktur wie Build-Server und CI/CD eingesetzt werden, sehr ernst genommen werden. Angreifer können diese Schwachstellen ausnutzen, um die Infrastruktur eines Softwareentwicklers zu kompromittieren und bösartigen Code in dessen Anwendungen einzuschleusen, der dann an die Benutzer weitergegeben wird. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.

Lucian Constantin arbeitet als Korrespondent für den IDG News Service.