Mengesan beberapa kelemahan yang menjejaskan ramai pelanggan Matrix

protokol matriks

Matriks ialah protokol pemesejan segera terbuka. Ia direka untuk membolehkan pengguna berkomunikasi melalui sembang dalam talian, suara melalui IP dan sembang video.

Baru-baru ini pemaju platform komunikasi terdesentralisasis «Matrix» mengeluarkan amaran tentang pelbagai kelemahan yang telah dikesan dan mereka kritikal dalam pustaka matrix-js-sdk, matrix-ios-sdk dan matrix-android-sdk2 yang membenarkan pentadbir pelayan menyamar sebagai pengguna lain dan membaca mesej daripada sembang disulitkan hujung ke hujung (E2EE).

Disebutkan bahawa untuk berjaya menyelesaikan serangan, pelayan rumah yang dikawal oleh penyerang mesti diakses (pelayan rumah: pelayan untuk menyimpan sejarah dan akaun pelanggan). Penggunaan penyulitan hujung ke hujung pada bahagian klien tidak membenarkan pentadbir pelayan campur tangan dalam pemesejan, tetapi kelemahan yang dikenal pasti membolehkan perlindungan ini dielakkan.

Isu mempengaruhi pelanggan Matriks Elemen utama (dahulunya Riot) untuk web, desktop, iOS dan Android, serta apl pelanggan pihak ketiga seperti Cinny, Beeper, SchildiChat, Circuli dan Synod.im.

Kerentanan tidak muncul dalam perpustakaan matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go dan matrix-nio, serta Hydrogen, ElementX, Nheko, FluffyChat, Siphon, Timmy, Aplikasi Gomuks, dan Pantalaimon.

Ambil perhatian bahawa isu keterukan kritikal ialah isu pelaksanaan dalam matriks-js-sdk dan derivatif, dan bukan isu protokol dalam Matriks. Versi terkini kertas penyelidik yang kami lihat salah menggambarkan Element sebagai "pelanggan Matriks penanda aras" dan mengelirukan ralat pelaksanaan keterukan yang lebih tinggi dengan kritikan protokol keterukan yang lebih rendah.

Terdapat tiga senario serangan utama:

  1. Pentadbir pelayan Matrix boleh memecahkan pengesahan berasaskan emoji (SAS, Rangkaian Pengesahan Pendek) dengan menggunakan tandatangan silang dan menyamar sebagai pengguna lain. Isu ini disebabkan oleh kerentanan (CVE-2022-39250) dalam kod matriks-js-sdk yang berkaitan dengan gabungan pengendalian ID peranti dan kekunci tanda silang.
  2. Penyerang yang mengawal pelayan boleh menyamar sebagai pengirim yang dipercayai dan memberikan kunci palsu untuk memintas mesej daripada pengguna lain. Isu ini disebabkan oleh kerentanan dalam matriks-js-sdk (CVE-2022-39251), matriks-ios-sdk (CVE-2022-39255) dan matriks-android-sdk2 (CVE-2022-39248), yang menyebabkan Pelanggan secara salah menerima mesej yang dialamatkan kepada peranti yang disulitkan menggunakan protokol Megolm dan bukannya Olm , mengaitkan mesej kepada pengirim Megolm dan bukannya pengirim sebenar.
  3. Dengan mengeksploitasi kelemahan yang dinyatakan dalam perenggan sebelumnya, pentadbir pelayan juga boleh menambah kunci ganti palsu pada akaun pengguna untuk mengekstrak kunci yang digunakan untuk menyulitkan mesej.

Para penyelidik yang mengenal pasti kelemahan turut menunjukkan serangan yang menambahkan pengguna pihak ketiga pada sembang atau sambungkan peranti pihak ketiga kepada pengguna. Serangan adalah berdasarkan fakta bahawa mesej perkhidmatan yang digunakan untuk menambah pengguna ke sembang tidak dipautkan ke kunci pencipta sembang dan boleh dijana oleh pentadbir pelayan.

Pemaju projek Matrix mengklasifikasikan kelemahan ini sebagai kecil, memandangkan manipulasi sedemikian tidak wujud pada Matrix dan hanya mempengaruhi pelanggan berdasarkan protokol, tetapi ini tidak bermakna ia tidak akan disedari: jika pengguna diganti, ia akan ditunjukkan dalam senarai pengguna sembang, dan apabila ditambah peranti, amaran akan dipaparkan dan peranti akan ditandakan sebagai tidak disahkan (dalam kes ini, sejurus selepas menambah peranti yang tidak dibenarkan, ia akan mula menerima kunci awam yang diperlukan untuk menyahsulit mesej.

Anda akan mendapati bahawa matriks-karat-sdk, hidrogen-sdk dan SDK generasi ke-XNUMX dan ke-XNUMX yang lain tidak terjejas oleh pepijat dalam punca isu kritikal di sini. Inilah sebabnya kami berusaha untuk menggantikan SDK generasi pertama dengan pelaksanaan Rust yang bersih dan bertulis dengan teliti dalam bentuk matriks-karat-sdk, lengkap dengan audit awam bebas yang berterusan.

Kerentanan disebabkan oleh pepijat dalam pelaksanaan individu daripada protokol Matriks dan ia bukan masalah protokol itu sendiri. Pada masa ini, projek itu telah mengeluarkan kemas kini untuk SDK yang bermasalah dan beberapa aplikasi klien yang dibina di atasnya.

Akhirnya ya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.