Sicherheitswarnung: 1CRM schützt Daten unzureichend (CVE-2020-15958)

Sicherheitsforscher von aramido entdeckten eine Sicherheitslücke im Customer-Relationship-Management-System 1CRM. Die All-in-One-CRM-Software wird seit über zehn Jahren von Firmen weltweit für Kundenverwaltung, Rechnungswesen, Projektmanagement, Vertrieb und Marketing eingesetzt. Im Rahmen der aramido-Richtlinien zum verantwortlichen Offenlegen von Sicherheitslücken meldete aramido die Schwachstelle an den Hersteller zur Behebung, die laut dem deutschen Vertriebspartner von 1CRM, der Visual4 GmbH, inzwischen erfolgt ist. Der von aramido formulierte Sicherheitshinweis kann öffentlich eingesehen werden.

Unberechtigte Dritte hätten sensitive Dateien des CRM Systems herunterladen können

Die Sicherheitsforscher konnten feststellten, dass nicht authentifizierte Benutzer aufgrund unvollständiger Berechtigungsprüfungen Zugriff auf gespeicherte Dateien im Stammverzeichnis des Webservers hatten. Je nach genutztem Modul wäre es Angreifern möglich gewesen, auf Bestellungen, Rechnungen und Lebensläufe zuzugreifen. Insbesondere Datensicherungen konnten aufgrund einer vorhersehbaren Dateibenennung mit wenig Aufwand unbefugt heruntergeladen werden. Diese Datensicherungen enthalten einen vollständigen Abzug der Datenbank, Konfigurationen, Passwörter und auch in das System hochgeladene Dateien.

Betreiber von 1CRM-Systemen sollten das bereitgestellte Update schnellstmöglich einspielen

1CRM fordert alle Cloud- und On-Premise-Kunden auf, das Update auf Version 8.6.7 oder neuer einzuspielen. Grundsätzlich empfiehlt aramido beim Betreiben von auf Standardsoftware basierenden Webanwendungen Härtungsmaßnahmen durchzuführen. Zum Beispiel können auf Ebene der Konfiguration von Webservern die Grundeinstellungen auf die Anwendung so angepasst werden, dass die eigenen IT-Systeme gegen Angriffe wie diese abgesichert sind. Zudem wird angeraten Systeme mit besonders sensitiven Daten in einem Intranet zu betreiben und durch ein VPN zur Verfügung zur stellen.

Fehlende Berechtigungsprüfungen waren die Ursache für die Schwachstelle

Alle hochgeladenen Dateien des CRMs werden in Ordnern innerhalb des Stammverzeichnisses des Webservers (Web-Root) gespeichert. Zusätzlich werden Backups der Datenbank, Anwendungskonfigurationen, Dateianhänge und Module dort abgelegt. Durch eine unsichere direkte Objektreferenz war es möglich auf Dateien im Stammverzeichnis zuzugreifen. Die Anfragen zu solchen Datei werden nicht von der 1CRM-Anwendung bearbeitet, sondern vom Webserver selbst beantwortet. Die Dateinamen müssen dem Nutzer für einen erfolgreichen Zugriff zwar bekannt sein - doch folgt 1CRM einer vorhersehbaren Ordnerstruktur wie /files/upload/42/ und die Dateinamen vieler sensitiver Dateien sind einfach zu erraten. Zum Beispiel lassen sich Backup-Dateien durch systematisches Ausprobieren der im Dateinamen enthaltenen Zeitstempel herunterladen.

Unberechtigte Dateizugriffe durch Prüfen der Logs erkennen

Um zu erkennen, ob die Schwachstelle bereits ausgenutzt wurde, sollten Betreiber von 1CRM-On-Premise-Lösungen die Logs des Webservers auf Auffälligkeiten untersuchen. Ein Indiz könnte eine Häufung nicht erfolgreicher Zugriffe sein, die durch das Ausprobieren verschiedener Dateinamen hervorgerufen wurde. Ebenso sollte geprüft werden, ob Zugriffe auf sensitive Dateien wie Backups von unbekannten IP-Adressen erfolgt sind.

Stehen die Logs des Webservers nicht (mehr) zur Verfügung, sollten als Vorsichtsmaßnahme Passwörter gewechselt werden. Im Einzelfall müssen datenschutzrechtliche Schritte besprochen werden.

Der Hersteller sollte zur Behebung eine ordnungsgemäße Zugriffskontrolle einrichten

aramido empfiehlt Herstellern von Anwendungen sensitive Daten immer außerhalb des Stammverzeichnisses des Webservers zu speichern. Zudem muss eine ordnungsgemäße Zugriffskontrolle eingerichtet werden, damit die Daten nur an autorisierte Benutzer ausgeliefert werden. Darüber hinaus rät aramido die Dokumente mit willkürlich gewählten Dateinamen im Dateiverzeichnis abzuspeichern. Ein zufälliger Dateiname kann so gewählt werden, dass er schwer zu erraten ist und außerdem nur sichere Zeichen für Betriebs- oder Dateisysteme enthält. Zudem sollten aufgrund möglicher negativer Auswirkungen eines Leaks Backup-Dateien immer verschlüsselt werden.

Die Sicherheitslücke wurden am 27.07.2020 von aramido an 1CRM Systems Corp und den deutschen Vertriebspartner Visual4 gemeldet. Die Schwachstelle hat die CVE-2020-15958 erhalten. Visual4 meldete am 27.08.2020 die Behebung der Sicherheitslücke und hatte im Vorfeld bereits seine Kunden informiert. Informationen über die konkrete Behebung oder ein Abbild der aktuellsten Version wurden nicht zur Verfügung gestellt, wodurch die Behebung durch aramido bislang nicht überprüft werden konnte.

Andreas Sperber

Am 14.09.2020 in der Kategorie Sicherheitshinweise veröffentlicht.