Van detectar diverses vulnerabilitats que comprometen molts clients de Matrix

protocol matrix

Matrix és un protocol obert de missatgeria instantània. Està dissenyat per permetre als usuaris comunicar-se via xerrada en línia, veu a sobre IP, i videoxat

Fa poc els desenvolupadors de la plataforma de comunicacions descentralitzadas «Matrix» van donar a conèixer una advertència sobre diverses vulnerabilitats que van ser detectades i que són crítiques a les biblioteques matrix-js-sdk, matrix-ios-sdk i matrix-android-sdk2 que permeten als administradors del servidor fer-se passar per altres usuaris i llegir missatges d'extrem a extrem xats encriptats (E2EE).

S'esmenta que per completar amb èxit un atac, cal accedir a un servidor domèstic controlat pels atacants (servidor domèstic: un servidor per emmagatzemar l'historial i els comptes dels clients). L'ús de xifratge d'extrem a extrem al costat del client no permet que l'administrador del servidor intervingui a la missatgeria, però les vulnerabilitats identificades permeten eludir aquesta protecció.

Els problemes afecten el client principal d'Element Matrix (abans Riot) per a Web, escriptori, iOS i Android, així com a aplicacions de clients de tercers, com Cinny, Beeper, SchildiChat, Circuli i Synod.im.

Les vulnerabilitats no apareixen a les biblioteques matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go i matrix-niu, així com a Hydrogen, ElementX, Nheko, FluffyChat, Siphon, Timmy, Gomuks i Aplicacions Pantalaimon.

Tingueu en compte que els problemes de gravetat crítica són problemes d'implementació a matrix-js-sdk i derivats, i no són problemes de protocol a Matrix. L'última versió de l'article dels investigadors que hem vist presenta incorrectament Element com «el client Matrix de referència» i confon els errors d'implementació de més gravetat amb la crítica del protocol de menor gravetat.

Hi ha tres escenaris principals d'atac:

  1. L'administrador del servidor de Matrix pot trencar la verificació basada en emoji (SAS, Cadenes d'autenticació curtes) en utilitzar signatures creuades i fer-se passar per un altre usuari. El problema és degut a una vulnerabilitat (CVE-2022-39250) al codi matrix-js-sdk relacionat amb la combinació del maneig d'ID de dispositius i claus de signatura creuada.
  2. Un atacant que controla el servidor pot suplantar un remitent fiable i passar una clau falsa per interceptar missatges daltres usuaris. El problema es deu a una vulnerabilitat a matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) i matrix-android-sdk2 (CVE-2022-39248), que va causar la client accepti incorrectament missatges dirigits a dispositius xifrats mitjançant el protocol Megolm en lloc d'Olm, atribuint els missatges al remitent de Megolm en lloc del remitent real.
  3. En explotar les vulnerabilitats esmentades al paràgraf anterior, l'administrador del servidor també pot afegir una clau de recanvi fictícia al compte d'usuari per extreure les claus utilitzades per xifrar els missatges.

Els investigadors que van identificar la vulnerabilitat també van demostrar atacs que afegeixen un usuari de tercers a un xat o connecten un dispositiu de tercers a lusuari. Els atacs es basen en el fet que els missatges de servei utilitzats per afegir usuaris al xat no estan vinculats a les claus del creador del xat i poden ser generats per l'administrador del servidor.

Els desenvolupadors del projecte Matrix van classificar aquestes vulnerabilitats com a menors, ja que aquestes manipulacions no són pròpies de Matrix i només afecten clients basats en el protocol, però això no vol dir que no passaran desapercebudes: si se substitueix un usuari, es mostrarà a la llista d'usuaris del xat, i quan s'afegeix un dispositiu, es mostrarà una advertència i el dispositiu es marcarà com a no verificat (en aquest cas, immediatament després d'afegir el dispositiu no autoritzat, començarà a rebre les claus públiques necessàries per desxifrar els missatges.

Notarà que matrix-rust-sdk, hydrogen-sdk i altres SDK de segona i tercera generació no es van veure afectats pels errors a la causa arrel dels problemes crítics aquí. Aquesta és precisament la raó per la que hem estat treballant per reemplaçar els SDK de primera generació amb una implementació de Rust neta i acuradament escrita en forma de matrix-rust-sdk, completa amb una auditoria pública independent en curs.

Les vulnerabilitats són causades per errors en implementacions individuals del protocol Matrix i no són problemes del protocol en si. Actualment, el projecte ha publicat actualitzacions per als SDK problemàtics i algunes de les aplicacions client creades sobre aquesta base.

Finalment sí estàs interessat a poder conèixer més sobre això, Pots consultar els detalls al següent enllaç.


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà.

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.