
CVE-2023-27524
Der ASEAN-Wettbewerb für Studierende der Informationssicherheit ist vorerst abgeschlossen. Mein Team MSEC_HUNT3R hat den zweiten Platz in der Jeopardy-Kategorie erreicht. Meine Stimmung ist zugleich freudig und traurig, denn die Web-Kategorie hat in diesem Jahr meine Erwartungen nicht erfüllt, aber egal, es gibt immerhin eine CVE, die ich analysieren kann :v
CVE-2023-27524 wurde in Apache Superset entdeckt und hatte im Jahr 2021 einen CVSS-Wert von 8,9, aber erst 2023 wurde die CVE veröffentlicht. Es handelt sich um ein Open-Source-Tool zur Erweiterung und Visualisierung von Daten. Betroffen sind die Versionen 1.4.1 bis 2.0.1. Das Problem tritt auf, wenn der Admin Apache mit der Standardkonfiguration betreibt. Das Ergebnis ist, dass diese Server wie ein Haus ohne Tür sind, weil jeder einen Schlüssel hat. Ein Angreifer kann sich daher mit Admin-Rechten „anmelden“ und völlig ungestört im Bett deiner Frau schlafen, ohne dass es jemand bemerkt :)) In diesem Artikel werde ich tiefgehend auf die Standardkonfiguration dieser Konfiguration eingehen. Die Analyse basiert auf diesem Artikel.
Superset wurde mit der Flask-Bibliothek von Python geschrieben und verwendet SECRET_KEY zur Benutzerauthentifizierung. Eine gängige Methode für Flask-basierte Anwendungen besteht darin, kryptografisch signierte Session-Cookies zur Verwaltung des Benutzerstatus zu verwenden. Wenn sich ein Benutzer anmeldet, sendet die Webanwendung ein Session-Cookie mit der Benutzerkennung an den Browser des Endbenutzers zurück. Anschließend signiert die Webanwendung es mit dem SECRET_KEY, einem zufällig generierten Wert, der in der lokalen Konfigurationsdatei gespeichert wird. Bei jeder Anfrage sendet der Browser das Cookie der aktuellen Session an die Webanwendung, und die Webanwendung authentifiziert den Benutzer anhand der Signatur im Cookie, bevor sie die Anfrage ausführt.