Au detectat mai multe vulnerabilități care compromit mulți clienți Matrix

protocolul matricei

Matrix este un protocol deschis de mesagerie instantanee. Este conceput pentru a permite utilizatorilor să comunice prin chat online, voce peste IP și chat video.

Recent, dezvoltatorii de platforme comunicatii descentralizates «Matrix» a lansat un avertisment despre diverse vulnerabilități care au fost detectate și sunt critici în bibliotecile matrix-js-sdk, matrix-ios-sdk și matrix-android-sdk2, care permit administratorilor de server să uzurpare identitatea altor utilizatori și să citească mesaje din chat-urile criptate end-to-end (E2EE).

Se menționează că pentru a finaliza cu succes un atac, trebuie accesat un server de acasă controlat de atacatori (server de acasă: un server pentru a stoca istoricul clienților și conturile). Utilizarea criptării end-to-end pe partea client nu permite administratorului serverului să intervină în mesagerie, dar vulnerabilitățile identificate permit ocolirea acestei protecție.

Problemele afectează clientul principal Element Matrix (fostul Riot) pentru web, desktop, iOS și Android, precum și pentru aplicații client terță parte precum Cinny, Beeper, SchildiChat, Circuli și Synod.im.

Vulnerabilitățile nu apar în bibliotecile matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go și matrix-nio, precum și în Hydrogen, ElementX, Nheko, FluffyChat, Siphon, Timmy, aplicații Gomuks și Pantalaimon.

Rețineți că problemele critice de severitate sunt probleme de implementare în matrix-js-sdk și derivate și nu sunt probleme de protocol în Matrix. Cea mai recentă versiune a lucrării cercetătorilor pe care am văzut-o înfățișează incorect Element ca „clientul Matrix de referință” și confundă erorile de implementare de severitate mai mare cu criticile de protocol de severitate mai scăzută.

Sunt trei scenarii atacul principal:

  1. Administratorul serverului Matrix poate întrerupe verificarea bazată pe emoji (SAS, Lanțuri de autentificare scurte) folosind semnături încrucișate și uzurparea identității unui alt utilizator. Problema este cauzată de o vulnerabilitate (CVE-2022-39250) în codul matrix-js-sdk, legată de combinația de manipulare a ID-ului dispozitivului și chei de semnare încrucișată.
  2. Un atacator care controlează serverul poate uzurpa identitatea unui expeditor de încredere și poate transmite o cheie falsă pentru a intercepta mesajele de la alți utilizatori. Problema se datorează unei vulnerabilități în matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) și matrix-android-sdk2 (CVE-2022-39248), care a cauzat Clientul acceptă incorect mesajele adresate dispozitivelor criptate folosind protocolul Megolm în loc de Olm, atribuind mesajele expeditorului Megolm în loc de expeditorul real.
  3. Prin exploatarea vulnerabilităților menționate în paragraful anterior, administratorul serverului poate adăuga și o cheie de rezervă falsă în contul de utilizator pentru a extrage cheile folosite la criptarea mesajelor.

Cercetătorii care au identificat vulnerabilitatea au demonstrat, de asemenea, atacuri care adaugă un utilizator terță parte la un chat sau conectați un dispozitiv terță parte la utilizator. Atacurile se bazează pe faptul că mesajele de serviciu folosite pentru a adăuga utilizatori la chat nu sunt legate de cheile creatorului chatului și pot fi generate de administratorul serverului.

Dezvoltatorii proiectului Matrix au clasificat aceste vulnerabilități drept minore, deoarece astfel de manipulări nu sunt inerente Matrix și afectează doar clienții bazați pe protocol, dar asta nu înseamnă că aceștia nu vor trece neobservați: dacă un utilizator este înlocuit, acesta va fi afișat în lista de utilizatori de chat și atunci când este adăugat un dispozitiv, va fi afișat un avertisment și dispozitivul va fi marcat ca neverificat (în acest caz, imediat după adăugarea dispozitivului neautorizat, va începe să primească cheile publice necesare pentru decriptarea mesajelor.

Veți observa că matrix-rust-sdk, hydrogen-sdk și alte SDK-uri din a XNUMX-a și a XNUMX-a generație nu au fost afectate de erorile din cauza principală a problemelor critice de aici. Acesta este motivul pentru care am lucrat pentru a înlocui SDK-urile de prima generație cu o implementare curată, scrisă cu atenție a Rust sub forma matrix-rust-sdk, completată cu un audit public independent în curs.

Vulnerabilitățile sunt cauzate de erori în implementările individuale a protocolului Matrix și nu sunt probleme ale protocolului în sine. În prezent, proiectul a lansat actualizări pentru SDK-urile problematice și pentru unele dintre aplicațiile client construite pe deasupra lor.

În cele din urmă da sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.