Wykryto kilka luk, które zagrażają wielu klientom Matrix

protokół macierzy

Matrix to otwarty protokół wiadomości błyskawicznych. Został zaprojektowany, aby umożliwić użytkownikom komunikację za pośrednictwem czatu online, głosu przez IP i czatu wideo.

Ostatnio deweloperzy platform zdecentralizowana komunikacjas «Matrix» opublikował ostrzeżenie o różnych lukach które zostały wykryte i oni są krytyczni w bibliotekach matrix-js-sdk, matrix-ios-sdk i matrix-android-sdk2, które pozwalają administratorom serwerów podszywać się pod innych użytkowników i czytać wiadomości z szyfrowanych czatów end-to-end (E2EE).

Wspomina się, że aby pomyślnie przeprowadzić atak, należy uzyskać dostęp do serwera domowego kontrolowanego przez atakujących (serwer domowy: serwer do przechowywania historii i kont klientów). Stosowanie szyfrowania typu end-to-end po stronie klienta nie pozwala administratorowi serwera na ingerencję w przesyłanie wiadomości, ale zidentyfikowane luki pozwalają na obejście tej ochrony.

Problemy dotyczą głównego klienta Element Matrix (dawniej Riot) dla aplikacji internetowych, stacjonarnych, iOS i Android, a także aplikacji klienckich innych firm, takich jak Cinny, Beeper, SchildiChat, Circuli i Synod.im.

Podatności nie występują w bibliotekach matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go i matrix-nio, a także Hydrogen, ElementX, Nheko, FluffyChat, Siphon, Timmy, Aplikacje Gomuks i Pantalaimon.

Należy pamiętać, że krytyczne problemy z istotnością są problemami z implementacją w matrix-js-sdk i pochodnych, a nie są problemami z protokołem w Matrix. Najnowsza wersja artykułu naukowców, który widzieliśmy, błędnie przedstawia Element jako „testowego klienta Matrix” i myli błędy implementacji o wyższej ważności z krytyką protokołu o niższej ważności.

Istnieją trzy scenariusze główny atak:

  1. Administrator serwera Matrix może przerwać weryfikację opartą na emoji (SAS, krótkie łańcuchy uwierzytelniania), używając podpisów krzyżowych i podszywając się pod innego użytkownika. Przyczyną problemu jest usterka (CVE-2022-39250) w kodzie matrix-js-sdk związana z kombinacją obsługi identyfikatorów urządzeń i kluczy krzyżowego podpisywania.
  2. Osoba atakująca, która kontroluje serwer, może podszywać się pod zaufanego nadawcę i przekazać fałszywy klucz w celu przechwycenia wiadomości od innych użytkowników. Problem wynika z luki w matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) i matrix-android-sdk2 (CVE-2022-39248), która spowodowała Klient nieprawidłowo akceptuje wiadomości adresowane do zaszyfrowanych urządzeń przy użyciu protokołu Megolm zamiast Olm , przypisując wiadomości do nadawcy Megolm zamiast rzeczywistego nadawcy.
  3. Wykorzystując luki wymienione w poprzednim akapicie, administrator serwera może również dodać fałszywy klucz zapasowy do konta użytkownika, aby wyodrębnić klucze używane do szyfrowania wiadomości.

Badacze, którzy zidentyfikowali lukę zademonstrowano również ataki, które dodają użytkownika zewnętrznego do czatu lub podłączyć do użytkownika urządzenie innej firmy. Ataki polegają na tym, że wiadomości serwisowe służące do dodawania użytkowników do czatu nie są powiązane z kluczami twórcy czatu i mogą być generowane przez administratora serwera.

Twórcy projektu Matrix sklasyfikowali te luki jako drobne, ponieważ takie manipulacje nie są nieodłącznie związane z Matrix i dotyczą tylko klientów opartych na protokole, ale nie oznacza to, że nie pozostaną niezauważone: jeśli użytkownik zostanie zastąpiony, zostanie wyświetlony na liście użytkowników czatu, a po dodaniu urządzenie zostanie wyświetlone ostrzeżenie i urządzenie zostanie oznaczone jako niezweryfikowane (w tym przypadku natychmiast po dodaniu nieautoryzowanego urządzenia zacznie ono otrzymywać klucze publiczne potrzebne do odszyfrowania wiadomości.

Zauważysz, że matrix-rust-sdk, hydrogen-sdk i inne pakiety SDK drugiej i trzeciej generacji nie zostały dotknięte błędami w pierwotnej przyczynie krytycznych problemów. Właśnie dlatego pracowaliśmy nad zastąpieniem SDK pierwszej generacji czystą, starannie napisaną implementacją Rusta w postaci matrix-rust-sdk, wraz z ciągłym niezależnym audytem publicznym.

Podatności są spowodowane błędami w poszczególnych implementacjach protokołu Matrix i nie są to problemy samego protokołu. Obecnie projekt udostępnił aktualizacje problematycznych pakietów SDK i niektórych aplikacji klienckich zbudowanych na ich bazie.

Wreszcie tak chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.