Razvijači platforme decentraliziranih komunikacija Matrix upozorili su na otkrivene kritične ranjivosti u bibliotekama matrix-js-sdk, matrix-ios-sdk i matrix-android-sdk2, koje omogućavaju administratorima servera da se predstavljaju kao drugi korisnici i čitaju poruke u chatovima sa krajnjim šifriranjem (E2EE). Ranjivosti su uzrokovane greškama u pojedinačnim implementacijama protokola Matrix i nisu problem samog protokola. Trenutno su izdata ažuriranja za problematične SDK-ove i dio klijentskih aplikacija baziranih na njima.
Za uspješno izvođenje napada potrebno je da se obratite kućnom serveru koji kontrolira napadač poslužitelju (homeserver — server za pohranu povijesti i računa klijenata). Primjena krajnjeg šifriranja na strani klijenta ne dopušta administratoru poslužitelja da se umiješa u razmjenu poruka, ali otkrivene ranjivosti omogućavaju zaobilaženje te zaštite. Problemi se odnose na glavni Matrix klijent Element (bivši Riot) za web, desktop sustave, iOS i Android, kao i na aplikacije trećih strana, uključujući Cinny, Beeper, SchildiChat, Circuli i Synod.im. Ranjivosti se ne pojavljuju u bibliotekama matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go i matrix-nio, kao ni u aplikacijama Hydrogen, ElementX, Nheko, FluffyChat, Syphon, Timmy, Gomuks i Pantalaimon.
Ističu se tri glavna scenarija izvođenja napada:
- Administrator Matrix servera može omesti verifikaciju zasnovanu na emoji (SAS, Short Authentication Strings) prilikom korišćenja unakrsnih potpisa i predstavljati se kao drugi korisnik. Problem je izazvan ranjivošću (CVE-2022-39250) u kodu matrix-js-sdk, povezanom sa mešanjem obrade identiteta uređaja i ključeva unakrsne potpisa.
- Napadač koji kontrolira server može falsifikovati pouzdanog pošiljaoca i prenijeti lažni ključ kako bi presreo poruke drugih korisnika. Problem je izazvan ranjivošću u matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) i matrix-android-sdk2 (CVE-2022-39248), zbog koje klijent pogrešno prima poruke namijenjene uređaju, šifrirane korišćenjem protokola Megolm umjesto Olm, pripisujući poruke pošiljaocu Megolm, a ne stvarnom pošiljaocu.
- Korištenjem ranjivosti spomenutih u prethodnom stavku, administrator servera također može dodati lažni rezervni ključ u korisnički račun kako bi izvukao ključeve korištene za enkripciju poruka.
Istraživači koji su otkrili ranjivost također su demonstrirali napade koji dovode do dodavanja strane osobe u chat ili povezivanja tuđeg uređaja s korisnikom. Napadi se temelje na tome da se uslužne poruke koje se koriste za dodavanje korisnika u chat ne povezuju s ključevima stvaratelja chata i mogu ih generirati administrator servera. Razvijači iz projekta Matrix su ove ranjivosti klasificirali kao manje ozbiljne, jer takve manipulacije neće ostati neprimijećene - u slučaju zamjene korisnika, on će se prikazati na popisu korisnika chata, a prilikom dodavanja uređaja bit će prikazana upozorenja, a uređaj će biti označen kao nepovjeren. (U trenutku kada se podmetnutom uređaju dodaju zajednički ključevi, počinje prijenos ključeva potrebnih za dešifriranje poruka).
Izvor: opennet.ru
