Cross-Site-Scripting-Schwachstelle behoben.

XSS-Schwachstelle wurde innerhalb von zwei Tagen nach der Meldung behoben.

2022-07-28
Fokus auf Sicherheit: XSS-Schwachstelle innerhalb von zwei Tagen behoben.
Am 22. Juni wurden wir über eine Cross-Site Scripting-Schwachstelle (XSS) in allen Tutanota-Clients informiert. Wir haben sofort mit der Arbeit an einem Fix begonnen, der zwei Tage später veröffentlicht wurde. Inzwischen wurden alle betroffenen Versionen von Tutanota deaktiviert und wir möchten zur vollen Transparenz über das Problem informieren.

Was war geschehen?

Am 22. Juni 2022 erhielten wir einen Sicherheitshinweis von Paul Gerste, Sonar, der uns über eine Cross-Site-Scripting-Schwachstelle in Tutanota informierte, die alle Clients betraf, sowie über eine Schwachstelle bei der Remotecodeausführung (RCE), die nur die Desktop-Clients betraf. Beide Schwachstellen wurden sofort behoben und ein Patch wurde am 24. Juni 2022 mit der Version 3.98.1 veröffentlicht.

Die XSS-Schwachstelle ermöglichte es einem Angreifer, Informationen aus Tutanota zu extrahieren, indem er eine bösartige E-Mail erstellte, die in der Lage war, unsere Sanitisierung zu umgehen, wodurch fremder JavaScript-Code in die Anwendung injiziert und ausgeführt werden konnte. Die RCE-Schwachstelle ermöglichte es einem Angreifer, über den Desktop-Client Programme auf dem System eines Benutzers auszuführen (dies wurde anhand von Windows demonstriert, könnte aber auch auf anderen Betriebssystemen möglich gewesen sein), indem er die XSS-Schwachstelle ausnutzen und sie zum Herunterladen und Ausführen eines bösartigen Anhangs verwenden konnte.

Welche Maßnahmen haben wir ergriffen?

Zwei Tage, nachdem wir über die Schwachstellen informiert wurden, haben wir einen Patch mit der Version 3.98.1 veröffentlicht, der den urlify-Aufruf vor die Sanitisierung stellt und damit das unmittelbare Problem des XSS behebt.

Darüber hinaus haben wir Änderungen vorgenommen, um die Sicherheit der Anwendung zu erhöhen, die größtenteils bereits veröffentlicht sind oder mit dem nächsten Update veröffentlicht werden:

  • Verwendung eines Shadow-DOM zum Rendern von E-Mail-Inhalten, wodurch sichergestellt wird, dass Stile, die das Sanitizing irgendwie umgehen können, nicht an den Rest der Anwendung weitergegeben werden

  • Behandlung des Randfalls mit looksExecutable

  • Verbesserung von CSP in electron und Einschränkung der Dateien, auf die zugegriffen werden kann

  • Zufallsgenerierung des Namens des temporären Verzeichnisses, um sicherzustellen, dass die Speicherorte der Anhänge von einem Angreifer nicht vorhergesagt werden können

Bitte beachten Sie, dass die zusätzliche Härtung der Sicherheit in einer kommenden Version erfordern wird, dass lokale Suchindizes auf den Desktop-Clients und mobilen Apps gelöscht werden. Dieser Index wird bei der nächsten Suche automatisch neu erstellt. Lesen Sie hier, wie Sie Ihre Suchergebnisse verbessern können.

Betroffene Clients deaktiviert

Alle betroffenen Clients wurden deaktiviert. Uns ist kein Fall bekannt, in dem ein böswilliger Angreifer diese Sicherheitslücken ausgenutzt hat.

Es ist nicht erforderlich, Ihr Passwort oder Ihren Wiederherstellungscode zu ändern. Falls Sie dies dennoch tun möchten, lesen Sie bitte unsere Empfehlung, wie Sie Ihre Anmeldedaten am besten schützen.

Transparenz und Sicherheit

Wir bei Tutanota sind der Überzeugung, dass Transparenz und Sicherheit eng miteinander verbunden sind. Deshalb halten wir es für wichtig, dass wir Sie über diese behobene Sicherheitslücke informieren, auch per E-Mail.

Um ähnliche Probleme in Zukunft zu vermeiden, haben wir folgende Schritte unternommen:

  • Wir haben mehrere technische Sicherheitsmaßnahmen umgesetzt, die ein Ausnutzen etwaiger zukünftiger XSS-Schwachstellen verhindern.

  • Wir haben Regressionstests für diese Maßnahmen in unsere interne Richtlinie für Sicherheitsreviews aufgenommen.

  • Wir haben Sicherheitsreviews in unserem normalen Code-Review-Prozess stärker eingeplant. Diese Sicherheitsreviews sollen bei Änderungen der Verarbeitung von Benutzerinhalten im Code durchgeführt werden.

Open Source erhöht das Sicherheitsniveau

Wir haben immer betont, dass Open-Source-Tools sicherer sind als Closed-Source-Anwendungen. Der Code von Open-Source-Clients kann von der Sicherheitsgemeinschaft geprüft werden, um sicherzustellen, dass der Code frei von Fehlern, Schwachstellen und Hintertüren ist.

Die von Sonar gefundenen Schwachstellen sind zwar bedauerlich, aber sie beweisen, dass dies tatsächlich der Fall ist. Geschlossener Quellcode kann zwar ähnliche Probleme haben, aber die Benutzer werden davon vielleicht nie erfahren.

Wir danken Sonar für die verantwortungsvolle Offenlegung der Cross-Site-Scripting-Schwachstelle in Tutanota 3.98.0.

Für alle gemeldeten Probleme galt eine 90-tägige Frist, nach der Sonar angekündigt hatte, Teile des Problems zu veröffentlichen. Wir freuen uns, dass wir die angesprochenen Probleme viel schneller beheben konnten, und zwar innerhalb von zwei Tagen.

In unserer E-Mail-Kommunikation mit Sonar sagte der Schwachstellenforscher Paul Gerste sogar: "Hut ab vor Ihnen und Ihrem Team, Sie scheinen die Sicherheit Ihres Produkts ernst zu nehmen!"

Wir freuen uns sehr über dieses Feedback von einem Sicherheitsexperten. Es motiviert uns, noch intensiver an der Verbesserung von Tutanota zu arbeiten!