Schwachstellen in Matrix-Clients, die die Offenlegung von End-to-End-Verschlüsselungsschlüsseln ermöglichen

In den meisten Client-Anwendungen für die dezentrale Kommunikationsplattform Matrix wurden Schwachstellen (CVE-2021-40823, CVE-2021-40824) identifiziert, die es ermöglichen, Informationen über die Schlüssel zu erhalten, die zum Senden von Nachrichten in Ende-zu-Ende-verschlüsselten (E2EE) Chats verwendet werden . Indem ein Angreifer einen der Chat-Benutzer kompromittiert, kann er Nachrichten entschlüsseln, die zuvor von anfälligen Client-Anwendungen an diesen Benutzer gesendet wurden.

Für einen erfolgreichen Vorgang ist der Zugriff auf das Konto des Empfängers erforderlich. Der Zugriff kann sowohl durch den Verlust von Kontoparametern als auch durch Hacken des Matrix-Servers erfolgen, über den der Benutzer eine Verbindung herstellt. Die größte Gefahr stellen die Schwachstellen für Nutzer verschlüsselter Chatrooms dar, an die von Angreifern kontrollierte Matrix-Server angeschlossen sind. Administratoren solcher Server versuchen möglicherweise, sich als Serverbenutzer auszugeben, um Nachrichten abzufangen, die von anfälligen Clientanwendungen an den Chat gesendet werden.

Die Schwachstellen werden durch logische Fehler in den Implementierungen des Schlüssel-Rezugriffsmechanismus verursacht, der in Matrix-js-sdk < 12.4.1 (CVE-2021-40823), Matrix-Android-sdk2 < 1.2.2 (CVE-2021-) vorgeschlagen wird. 40824), Matrix -rust-sdk < 0.4.0, FamedlySDK < 0.5.0 und Nheko ≤ 0.8.2. Implementierungen, die auf den Bibliotheken „matrix-ios-sdk“, „matrix-nio“ und „libolm“ basieren, sind nicht betroffen.

Dementsprechend treten Schwachstellen in allen Anwendungen auf, die den problematischen Code übernehmen und nicht direkt mit den Protokollen Matrix und Olm/Megolm in Zusammenhang stehen. Das Problem betrifft insbesondere den Kern-Matrix-Client von Element (ehemals Riot) für Web, Desktop und Android sowie Clientanwendungen und Bibliotheken von Drittanbietern, darunter FluffyChat, Nheko, Cinny und SchildiChat. Das Problem tritt im offiziellen iOS-Client Chatty, Hydrogen, Mautrix, Purple-Matrix und Siphon nicht auf.

Die Schwachstellen wurden während der Sicherheitsüberprüfung des Element-Clients identifiziert. Mittlerweile wurden Korrekturen für alle betroffenen Clients veröffentlicht. Benutzern wird empfohlen, Updates dringend zu installieren und Clients offline zu schalten, bevor sie das Update installieren. Es gibt keine Hinweise auf eine Ausnutzung der Sicherheitslücke vor der Veröffentlichung des Fixes. Es ist unmöglich, anhand der regulären Client- und Serverprotokolle festzustellen, ob ein Angriff vorliegt. Da ein Angriff jedoch eine Kontokompromittierung erfordert, können Administratoren mithilfe von Authentifizierungsprotokollen auf ihren Servern das Vorhandensein verdächtiger Anmeldungen analysieren und Benutzer können die Liste der zugeordneten Geräte auswerten mit ihrem Konto für aktuelle Wiederverbindungen und Statusänderungen vertrauen.

Der Schlüsselfreigabemechanismus, bei dessen Implementierung Schwachstellen gefunden wurden, ermöglicht es einem Client, der keine Schlüssel zum Entschlüsseln einer Nachricht hat, Schlüssel vom Gerät des Absenders oder seinen anderen Geräten anzufordern. Beispielsweise ist eine solche Funktion erforderlich, um die Entschlüsselung alter Nachrichten auf dem neuen Gerät des Benutzers sicherzustellen oder für den Fall, dass der Benutzer die verfügbaren Schlüssel verliert. Die Protokollspezifikation schreibt standardmäßig vor, nicht auf Schlüsselanfragen zu reagieren und diese automatisch nur an verifizierte Geräte desselben Benutzers zu senden. Leider wurde diese Anforderung in der praktischen Umsetzung nicht erfüllt und Anfragen zum Senden von Schlüsseln wurden ohne ordnungsgemäße Geräteidentifizierung bearbeitet.

Source: opennet.ru

Kommentar hinzufügen