Alert!

Rocket.Chat: Lücke erlaubte Remote Code Execution durch präparierte Nachrichten

Die aktuellen Client- und Server-Versionen von Rocket.Chat beseitigen eine Sicherheitslücke, die schlimmstenfalls eine Remote-Codeausführung ermöglicht hätte.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag
Rocket.Chat: Lücke erlaubte Remote Code Execution durch präparierte Nachrichten

(Bild: rocket.chat)

Von
  • Olivia von Westernhagen

Administratoren und Privatpersonen, auf deren Servern oder Client-Rechnern die Chatplattform Rocket.Chat läuft, sollten zeitnah ein Update durchführen. Die aktuellen Server- (und möglicherweise auch Desktop-)Versionen schließen eine Sicherheitslücke, die Angreifer im webbasierten Chat für Cross-Site-Scripting-Angriffe, aus der Desktop-App heraus allerdings auch zur Ausführung von beliebigem Code aus der Ferne missbrauchen könnten.

Zwar funktioniert der Angriff nur unter bestimmten Voraussetzungen und erfordert eine Nutzerinteraktion im Chat. Angesichts einer vorhandenen detaillierten Proof-of-Concept-Beschreibung nebst Videos ist das Aktualisieren dennoch ratsam. Abgesichert sind die Server-Versionen 3.4.3 und 3.5.0. Die stammen bereits von Ende Juli; allerdings hat das Rocket.Chat-Team Nutzer bislang nicht auf die bestehende Gefahr hingewiesen.

Details erläutern die Entdecker der Lücke in einem Blogeintrag zu CVE-2020-15926. Demnach müsste sich ein Angreifer zunächst erfolgreich mit einem vorhandenen Account an einem verwundbaren Rocket.Chat-Server authentifizieren. Im Chat kann er dann Nachrichten in der Form

<img src=x onerror=[beliebiger JavaScript-Code oder Verweis auf externe Inhalte]>

verschicken, die dank der Lücke nicht als Text, sondern tatsächlich als Code interpretiert werden.

Zur (lokalen) Ausführung kommt dieser Code, sobald ein anderer Chat-Nutzer auf das Sprechblasen-Symbol zum direkten Antworten beziehungsweise Starten eines Threads klickt. Im Kontext des Webbrowsers hätten Angreifer auf diese Weise etwa Authentifizierungs-/Access Tokens abgreifen können.

(Bild: blog.redteam.pl/)

Über solches Cross-Site-Scripting hinaus fanden die Lücker-Entdecker allerdings auch eine Möglichkeit, beliebigen Code außerhalb des Browsers auf Systemen der Chat-Nutzer auszuführen. Dazu hätte ein Nutzer eine entsprechende präparierte Nachricht in der Rocket-Chat-Desktop-App öffnen müssen. Weitere Details erläutern die Forscher im Blogeintrag sowie im PoC-Video.

Remote Code Execution (in Gestalt eines Taschenrechner-Aufrufs) im Video. Um den Exploit zu triggern, muss der Nachrichtenempfänger auf das Symbol zum direkten Antworten klicken.

Die Forscher haben ihren PoC-Code erfolgreich mit den Server-Client-Versionskombinationen 3.4.0 / 2.7.9 und 3.4.0 / 2.7.10 getestet, gehen aber davon aus, dass auch frühere Versionen verwundbar sind. Die erforderlichen Update-Schritte auf die abgesicherten Server-Versionen 3.4.3 und 3.5.0 erklärt die Rocket.Chat-Dokumentation. Details zu den Releases sind den Rocket.Chat-Release-Notes bei GitHub zu entnehmen.

Aus dem Blogeintrag zur Sicherheitslücke mit der CVE-Kennung CVE-2020-15926 geht nicht klar hervor, ob die Angreifbarkeit der Desktop-App lediglich von der Rocket-Chat-Version abhängt, die auf dem entfernten Server läuft. Ein zusätzliches Update der Client-Version kann jedenfalls nicht schaden: Aktuell ist die Client-Version 2.17.11. Download-Informationen für Windows, macOS und Linux liefert ebenfalls die Rocket.Chat-Dokumentation.

(ovw)