Schwachstelle

Tenable warnt vor Ausnutzung einer Stored XSS-Schwachstelle

Tenable warnt vor Ausnutzung einer Stored XSS-Schwachstelle

AWS- und GCP-Apache-Airflow-Dienste anfällig

Ungepatchte Apache Airflow-Instanzen, die in Amazon Web Services (AWS) und Google Cloud Platform (GCP) verwendet werden, ermöglichen ein ausnutzbares Stored XSS über die Task-Instanz-Details-Seite

Liv Matan, Senior Security Researcher bei Tenable , hatte herausgefunden, dass von AWS und Google Composer verwaltete Apache Airflow-Dienste anfällig für CVE-2023-29247 (Stored XSS) sind. Diese Sicherheitslücke wurde von Apache gemeldet und behoben. Allerdings nutzen die von AWS und GCP bereitgestellten verwalteten Dienste eine veraltete, ungepatchte Version!

Managed Services für Apache Airflow in AWS (Amazon Managed Workflows for Apache Airflow) und Google Cloud Composer bieten eine skalierbare und sichere Orchestrierung von Daten-Workflows unter Verwendung von Apache Airflow. Diese Open-Source-Plattform dient zur programmatischen Erstellung, Planung und Überwachung von Workflows.

Das Ermetic-Forschungsteam, das jetzt zu Tenable Research gehört, hatte entdeckt, dass die von AWS und Google Composer verwalteten Apache Airflow-Dienste für CVE-2023-29247 (Stored XSS) anfällig sind. Diese Schwachstelle wurde zuvor von Apache gemeldet und behoben. Die von AWS und GCP bereitgestellten verwalteten Dienste nutzten jedoch eine veraltete, ungepatchte Version.

Das Forschungsteam bestätigte die ApatchMe-Schwachstelle durch Erstellung eines benutzerdefinierten PoC und meldete die Schwachstelle anschließend an AWS und GCP. Als Reaktion darauf bietet AWS jetzt eine neue, nicht angreifbare Version von Apache Airflow an und hat für die ungepatchten Versionen eine CSP (Content Security Policy) als Schutzmechanismus hinzugefügt. GCP arbeitet an der Freigabe einer neuen, nicht angreifbaren Version.

Microsoft Azure verwendet ebenfalls verwundbare verwaltete Apache Airflow-Instanzen in seinem Data Factory-Dienst. Die von Azure genutzte Version wurde zwar als anfällig eingestuft, Tenable hält sie jedoch für nicht ausnutzbar.

Beim Erstellen einer neuen Umgebung mit dem Managed Service für Apache Airflow in AWS oder Google Composer können Benutzer aus einer Reihe von Images mit verschiedenen Apache Airflow-Versionen wählen. Jede Apache Airflow-Instanz ist mit einem verwalteten Web-Panel verbunden, das seine Benutzer authentifiziert und ihnen Session-Cookies gewährt, um sensible authentifizierte Vorgänge durchzuführen. Die von den beiden Cloudprovidern angebotenen Webpanel-Images waren alle anfällig für CVE-2023-29247.

Derzeitige Nutzer der anfälligen Dienste führen möglicherweise noch ungepatchte Instanzen von Apache Airflow aus. Unternehmen sollten ihre Instanzen daher so schnell wie möglich patchen, indem sie eine aktualisierte Apache Airflow-Image-Version bereitstellen. Apache Airflow ist mit zwölf Millionen Downloads pro Monat eines der beliebtesten Orchestrierungstools. Eine Stichprobe aus der Untersuchung ergab, dass 20 Prozent der Tenable-Kunden die verwalteten Dienste für Apache Airflow nutzt.

Angriffsszenario

Authentifizierte Angreifer können ApatchMe verwenden, um ihre JavaScript-Nutzdaten im verwalteten Apache Airflow des Opfers zu speichern und JavaScript im Namen des Opfers auszuführen. Hierbei kann es sich um einen Administrator oder einen anderen Benutzer mit mehr Rechten als der Angreifer handeln, was zu einer Ausweitung der Rechte führt. Mit JavaScript können die Angreifer in der Session alle Operationen ausführen, die auch das Opfer ausführen kann: Aufgaben bearbeiten, Aufträge lesen, Auftragsverläufe, Plugins und Konfigurationen lesen, Verbindungen auflisten, Variablen hinzufügen und vieles mehr.

Reproduktionsverfahren

Es gibt keine öffentlich zugängliche Reproduktion oder kein PoC für die CVE, also haben die Forscher sie reproduziert, um ein gespeichertes XSS auf einem verwalteten Apache Airflow-Webpanel zu erreichen. Sie banden eine CSS-Animation ein, um den XSS zu erzwingen, der automatisch ausgeführt wird, wenn die Seite eines Opfers besucht wird.

Zunächst stellten die Forscher fest, dass alle verwalteten Apache Airflow-Image-Versionen, die von den Cloud-Anbietern AWS, Azure und GCP bereitgestellt wurden, anfällig waren. Da Apache Airflow ein Open-Source-Projekt ist, konnten sie den Patch auf Github einsehen, um den Ausgangspunkt zu finden.

Die wichtigsten Schlussfolgerungen aus der Analyse der oben genannten Code-Patches sind:

  • Der anfällige Code verweist nur auf Elemente mit dem Attribut „js-ti-attr“; über die Bearbeitungsseite der Task-Instanz hatten die Forscher Kontrolle über einige dieser Elemente.
  • Obwohl eine Prüfung auf eine URL- oder Datumseingabe durchgeführt wird, ist die URL-Prüfung fehlerhaft, da der http-String „contains“ verwendet. Dadurch kann die Prüfung leicht umgangen werden und es wird nicht wirklich geprüft, ob die URL richtig aufgebaut ist.
  • Der anfällige Code verwendet die Eigenschaft „innerHtml“, die HTML-Tags analysiert; diese Eigenschaft (im Gegensatz zu „innerText“ und anderen Alternativen) ist bekanntermaßen anfällig für XSS, wenn sie mit bösartigen Benutzereingaben gefüllt wird.
  • Die Lösung besteht darin, eine spezielle Bibliothek für die URL-Validierung zu verwenden und die anfällige und gefährliche Eigenschaft innerHtml nicht zu nutzen.

Die Forscher konnten die fehlerhafte URL-Validierung missbrauchen, indem sie „http“ an beliebiger Stelle in die Nutzdaten eingeben.

Abhilfemaßnahmen

Wie erwähnt, hat AWS eine neue Version seiner Managed Workflows for Apache Airflow (MWAA) veröffentlicht und für die ungepatchten Versionen eine CSP (Content Security Policy) als Leitplanke hinzugefügt. MWAA-Benutzer können ein Umgebungsupdate über die AWS-Konsole durchführen, indem sie die betroffene Umgebung auswählen und dann sicherzustellen, dass ihre aktuelle Airflow-Version über die neuesten Sicherheitsfixes verfügt.

GCP arbeitet am Release einer neuen, aktualisierten Version. Die anfälligen Image-Versionen sind jedoch weiterhin verfügbar, so dass alle Instanzen, die vor dem Patch bereitgestellt wurden, weiterhin anfällig sind.

Fazit

Unternehmen sollten Maßnahmen in Bezug auf bereits bereitgestellte Apache-Airflow-Instanzen in ihren AWS- oder GCP-verwalteten Diensten ergreifen, da sie möglicherweise mit veralteten Images arbeiten (von Azure verwaltete Apache-Airflow-Instanzen sind ebenfalls anfällig, aber die Schwachstelle ist nicht ausnutzbar). Es ist wichtig, solche anfälligen Bereitstellungen zu überprüfen und zu identifizieren, da die Instanzen anfällig bleiben können, wenn sie nicht aktualisiert werden.

Tenable betrachtet das prompte Handeln der Cloud-Serviceprovider, die aktualisierte Image-Versionen von Apache Airflow veröffentlicht haben, als lobenswert. Benutzer können diese neuen Images jetzt nutzen, um ihre Unternehmen vor der ApatchMe-Schwachstelle zu schützen. Diejenigen, die bereits vorhandene Instanzen verwalten, sollten sofort auf die gepatchten Versionen aktualisieren oder migrieren.