Vulnérabilités dans les clients Matrix qui pourraient exposer les clés de chiffrement de bout en bout

Des vulnérabilités (CVE-2021-40823, CVE-2021-40824) ont été identifiées dans la plupart des applications clientes de la plateforme de communications décentralisées Matrix, permettant d'obtenir des informations sur les clés utilisées pour transmettre des messages dans des discussions cryptées de bout en bout (E2EE). obtenu. Un attaquant qui compromet l'un des utilisateurs du chat peut décrypter les messages précédemment envoyés à cet utilisateur à partir d'applications clientes vulnérables.

Une opération réussie nécessite l'accès au compte du destinataire du message. L'accès peut être obtenu soit via une fuite des paramètres du compte, soit via le piratage du serveur Matrix via lequel l'utilisateur se connecte. Les vulnérabilités représentent le plus grand danger pour les utilisateurs de salons de discussion cryptés auxquels sont connectés les serveurs Matrix contrôlés par les attaquants. Les administrateurs de ces serveurs peuvent tenter de se faire passer pour les utilisateurs du serveur afin d'intercepter les messages de discussion envoyés par des applications clientes vulnérables.

Les vulnérabilités sont causées par des erreurs logiques dans la mise en œuvre du mécanisme de relecture de clé proposé dans Matrix-js-sdk < 12.4.1 (CVE-2021-40823), Matrix-android-sdk2 < 1.2.2 (CVE-2021-40824). , matrice -rust-sdk < 0.4.0, FamedlySDK < 0.5.0 et Nheko ≤ 0.8.2. Les implémentations basées sur les bibliothèques Matrix-ios-sdk, Matrix-nio et Libolm ne sont pas sensibles aux vulnérabilités.

Ainsi, des vulnérabilités apparaissent dans toutes les applications qui empruntent le code problématique et n'affectent pas directement les protocoles Matrix et Olm/Megolm. En particulier, le problème affecte le principal client Matrix Element (anciennement Riot) pour le Web, le bureau et Android, ainsi que les applications et bibliothèques clientes tierces, notamment FluffyChat, Nheko, Cinny et SchildiChat. Le problème n'apparaît pas dans le client officiel de la plateforme iOS, ni dans les applications Chatty, Hydrogen, mautrix, purple-matrix et Siphon.

Les vulnérabilités ont été identifiées lors d'un audit de sécurité du client Element. Des correctifs ont maintenant été publiés pour tous les clients concernés. Il est conseillé aux utilisateurs d'installer les mises à jour immédiatement et de mettre les clients hors ligne avant d'installer la mise à jour. Il n'y a aucune preuve d'exploitation de la vulnérabilité avant la publication du correctif. Il est impossible de déterminer le fait d'une attaque à l'aide des journaux standard du client et du serveur, mais comme l'attaque nécessite une compromission du compte, les administrateurs peuvent analyser la présence de connexions suspectes à l'aide des journaux d'authentification sur leurs serveurs, et les utilisateurs peuvent évaluer la liste des appareils liés. à leur compte pour les reconnexions récentes et les changements de statut de confiance.

Le mécanisme de partage de clés, dans la mise en œuvre duquel des vulnérabilités ont été trouvées, permet à un client qui ne dispose pas des clés pour déchiffrer un message de demander des clés à l'appareil de l'expéditeur ou à ses autres appareils. Par exemple, une telle capacité est nécessaire pour garantir le décryptage des anciens messages sur un nouvel appareil utilisateur ou si l'utilisateur perd les clés existantes. La spécification du protocole prescrit par défaut de ne pas répondre aux demandes de clés et de les envoyer automatiquement uniquement aux appareils vérifiés du même utilisateur. Malheureusement, dans les mises en œuvre pratiques, cette exigence n'a pas été satisfaite et les demandes d'envoi de clés ont été traitées sans identification appropriée de l'appareil.

Source: opennet.ru

Ajouter un commentaire