In der beliebten Webhosting-Management-Software Froxlor wurde eine schwerwiegende Sicherheitslücke entdeckt. Blind Cross-Site Scripting (Blind XSS) Schwachstelle ermöglicht es Angreifern, die Kontrolle über die Anwendung zu übernehmen. Diese Sicherheitslücke wurde unter der CVE-Nummer CVE-2024-34070 registriert und betrifft alle Versionen vor 2.1.9.
Die Schwachstelle wurde in der Funktion zur Protokollierung fehlgeschlagener Anmeldeversuche identifiziert. Ein Blind XSS tritt auf, wenn Benutzereingaben nicht ordnungsgemäß bereinigt werden und auf dem Server gespeichert werden, wodurch ein Angreifer bösartige Skripte einschleusen kann. Diese Skripte werden dann ausgeführt, wenn andere Benutzer, insbesondere Administratoren, die betroffene Seite aufrufen.
In diesem Fall kann ein nicht authentifizierter Benutzer bösartige Skripte im Parameter „loginname“ während eines Anmeldeversuchs einschleusen. Diese werden ausgeführt, wenn der Administrator die Systemprotokolle einsehen möchte. Die Anwendung schützt normalerweise vor XSS-Angriffen durch die Verwendung einer XSS-Bereinigungsbibliothek, jedoch wurden die Prüfungen dieser Bibliothek durch geschickte Nutzung von Datenbindung und Interpolation in Vue.js umgangen.
Auswirkungen
Die Auswirkungen dieser Sicherheitslücke sind schwerwiegend:
- Ein Angreifer kann den Administrator dazu bringen, unbemerkt einen neuen, vom Angreifer kontrollierten Administrator hinzuzufügen.
- Dies gibt dem Angreifer volle Kontrolle über die Froxlor-Anwendung.
- Angreifer können sensible Informationen wie Anmeldedaten, Sitzungstoken und personenbezogene Daten (PII) stehlen.
- Die Schwachstelle kann zur Verunstaltung der Anwendung führen.
Beispiel für ein schädliches XSS-Payload
Ein funktionierendes XSS-Payload wurde entwickelt, das den Administrator dazu zwingt, einen neuen, vom Angreifer kontrollierten Administrator-Benutzer hinzuzufügen: payload.txt
Schritte zur Reproduktion des Angriffs
Schritte des Angreifers:
- Einen ungültigen Benutzernamen bei der Anmeldung angeben.
- Abfangen in Burp Suite aktivieren.
- Im abgefangenen Request das folgende XSS-Payload als Wert des „loginname“-Parameters hinzufügen:
payload.txt
- Abfangen deaktivieren.
Schritte des Opfers:
- Als Administrator anmelden.
- Systemprotokolle einsehen, das XSS-Payload wird ausgeführt und ein Popup erscheint, das zeigt, dass die Anwendung kompromittiert wurde.
Schritte des Angreifers:
- Anmelden beim neu erstellten, vom Angreifer kontrollierten Admin-Konto mit den Anmeldedaten: Benutzername: abcd & Passwort: abcd@@1234.
Maßnahmen zur Minderung
Um diese Sicherheitslücke zu beheben, sollten folgende Maßnahmen ergriffen werden:
- Implementierung gründlicher Eingabevalidierungs- und Bereinigungsmechanismen für alle Benutzereingaben.
- Sanitisierung von
{{
und}}
, um Datenbindung und Interpolation in Vue.js zu verhindern. - Bereinigung bösartiger JavaScript-Funktionen.
Lösung und Updates
Froxlor hat Version 2.1.9 veröffentlicht, die diese Sicherheitslücke behebt. Benutzer sollten ihre Anwendungen umgehend auf die neueste Version aktualisieren, um sich vor dieser kritischen Sicherheitslücke zu schützen.
Quelle: GitHub Security Advisory GHSA-x525-54hf-xr53, d00p
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: