Vulnérabilités critiques compromettant le chiffrement de bout en bout dans de nombreux clients Matrix

Les développeurs de la plateforme de communication décentralisée Matrix ont averti de la découverte de vulnérabilités critiques dans les bibliothèques matrix-js-sdk, matrix-ios-sdk et matrix-android-sdk2, permettant aux administrateurs de serveurs de se faire passer pour d'autres utilisateurs et de lire des messages dans des discussions avec chiffrement de bout en bout (E2EE). Ces vulnérabilités sont dues à des erreurs dans certaines implémentations du protocole Matrix et ne sont pas des problèmes du protocole lui-même. Actuellement, des mises à jour des SDK problématiques et des parties des applications clientes qui en dépendent ont été publiées par le projet.

Pour qu'une attaque réussisse, un accès à un serveur domestique contrôlé par l'attaquant est nécessaire, serveur (homeserver — serveur pour le stockage de l'historique et des comptes clients). L'utilisation du chiffrement de bout en bout côté client n'empêche pas l'administrateur de serveurs de s'immiscer dans les échanges de messages, mais les vulnérabilités identifiées permettent de contourner cette protection. Les problèmes concernent le client principal Matrix Element (anciennement Riot) pour le Web, les systèmes de bureau, iOS et Android, ainsi que des applications clientes tierces, y compris Cinny, Beeper, SchildiChat, Circuli et Synod.im. Les vulnérabilités ne se manifestent pas dans les bibliothèques matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go et matrix-nio, ainsi que dans les applications Hydrogen, ElementX, Nheko, FluffyChat, Syphon, Timmy, Gomuks et Pantalaimon.

Trois scénarios principaux d'attaque sont identifiés :

  • Un administrateur de serveur Matrix peut compromettre la vérification basée sur emoji (SAS, Short Authentication Strings) lors de l'utilisation de signatures croisées et se faire passer pour un autre utilisateur. Ce problème est causé par la vulnérabilité (CVE-2022-39250) dans le code de matrix-js-sdk, liée à un mélange dans le traitement des identifiants d'appareils et des clés de signature croisée.
  • Un attaquant contrôlant le serveur peut falsifier l'expéditeur de confiance et transmettre une clé factice pour intercepter les messages d'autres utilisateurs. Ce problème provient d'une vulnérabilité dans matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) et matrix-android-sdk2 (CVE-2022-39248), ce qui fait que le client acceptait incorrectement des messages adressés aux appareils, chiffrés en utilisant le protocole Megolm au lieu de Olm, attribuant les messages à l'expéditeur Megolm plutôt qu'à l'expéditeur réel.
  • En utilisant les vulnérabilités mentionnées dans le point précédent, l'administrateur du serveur peut également ajouter une clé de secours fictive au compte utilisateur pour extraire les clés utilisées pour le chiffrement des messages.

Les chercheurs ayant découvert la vulnérabilité ont également démontré des attaques pouvant entraîner l'ajout d'un utilisateur tiers au chat ou le rattachement d'un appareil étranger à l'utilisateur. Ces attaques reposent sur le fait que les messages de service utilisés pour ajouter des utilisateurs au chat ne sont pas liés aux clés du créateur du chat et peuvent être générés par l'administrateur du serveur. Les développeurs du projet Matrix ont classé ces vulnérabilités comme mineures, car de telles manipulations ne resteront pas inaperçues — en cas de substitution d'utilisateur, celui-ci apparaîtra dans la liste des utilisateurs du chat, et lors de l'ajout d'un appareil, un avertissement sera affiché et l'appareil sera marqué comme non vérifié (de plus, dès l'ajout de cet appareil contrefait, des clés publiques nécessaires pour déchiffrer les messages commenceront à y être transmises).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster