Wirtschaft IT-Sicherheit
FreeScout behebt eine von Webcracy entdeckte Sicherheitslücke
Die Sicherheitsforschungsgruppe von Webcracy hat eine Schwachstelle im Open-Source-Helpdesk FreeScout entdeckt, die es einem authentifizierten Nutzer erlaubte, den Dienst für alle Mitarbeitenden zu verlangsamen. Die Lücke wurde in Version 1.8.248 behoben.
Die Sicherheitsforschungsgruppe von Webcracy, der Software-Firma aus dem Locarnese, hat eine Schwachstelle in der Open-Source-Helpdesk-Software FreeScout entdeckt. Gefunden hat sie Liam Giannini; die Maintainer des Projekts haben sie in Version 1.8.248 behoben, die zusammen mit dem Advisory GHSA-vcgj-6qfr-7qr6 am 17. Oktober veröffentlicht wurde.
FreeScout ist eine Software zur Verwaltung von Support-Tickets, geschrieben in PHP mit dem Laravel-Framework, die als selbst gehostete Alternative zu Diensten wie Help Scout oder Zendesk installiert wird. Um Mitarbeitenden in Echtzeit anzuzeigen, wer eine Konversation gerade liest, verwendet das Programm eine Komponente namens Polycast, die vom Browser eine periodische Anfrage an die Adresse POST /polycast/receive erhält.
Das Problem lag in der Methode, die diese Anfrage verarbeitete, processConvView(). Der Code las die vom Browser gesendete Konversations-ID und verwendete sie, ohne ihr Format zu prüfen oder zu überprüfen, ob der Nutzer berechtigt war, diese Konversation zu sehen. Der Server erstellte dann einen Cache-Eintrag und fügte dieselbe ID einem Array hinzu, das von der gesamten Installation gemeinsam genutzt wird, genannt conv_view. Dieses Array wird bei jeder Anfrage vollständig gelesen und neu geschrieben und bleibt zwanzig Minuten gültig.
Ein Konto genügte, um alle zu verlangsamen
Wer genügend erfundene IDs schickte, konnte dieses Array wachsen lassen und jeden weiteren Schreibvorgang schwerer machen, auch jene der anderen Mitarbeitenden. Ein geplanter Befehl, der jede Minute läuft, um abgelaufene Einträge zu entfernen, verstärkte den Effekt und erzeugte mehr Arbeit für die Datenbank und das Echtzeit-Benachrichtigungssystem. Das Ergebnis war eine Verlangsamung des Helpdesks für alle Nutzer, ohne dass der Angreifer Administratorrechte brauchte und ohne Zugriff auf die Daten anderer Konversationen.
GitHub stufte die Schwachstelle als mässig schwer ein, mit einem CVSS-3.1-Wert von 6.5, in der Kategorie der Probleme mit unkontrolliertem Ressourcenverbrauch. Zum Zeitpunkt der Veröffentlichung war ihr noch keine CVE-Nummer zugewiesen.
Webcracy fand das Problem bei der Analyse des Quellcodes von FreeScout 1.8.247 und überprüfte es in einer isolierten Laborumgebung mit einer begrenzten Zahl von Anfragen, ohne Lastverkehr zu erzeugen oder reale Installationen zu testen. In der behobenen Version akzeptiert der Server nur gültige numerische IDs und prüft vor jedem Schreibvorgang in den Cache, ob der Nutzer die angegebene Konversation tatsächlich sehen darf.
Dieselbe Version 1.8.248 behebt drei weitere Schwachstellen: eine, die frühere Konversationen für Mitarbeitende sichtbar machte, die nur die ihnen zugewiesenen sehen sollten, eine, die es erlaubte, durch paralleles Einlösen derselben Einladung mehrere Sitzungen zu öffnen, und ein Problem in einer von FreeScout verwendeten Drittanbieter-Bibliothek. Wer eine frühere Version nutzt, sollte aktualisieren und vorher eine Kopie der Datenbank und der installierten Module anlegen.
Webcracy widmet einen Teil seiner Zeit der Überprüfung von Open-Source-Software, die es für seine Kunden installiert, und meldet den Maintainern gefundene Schwachstellen.
Kommentare
Es gibt noch keine Kommentare. Deine Stimme kann die erste sein.
