Decentraliseeritud suhtlusplatvormi Matrix arendajad teatasid kriitiliste haavatavuste tuvastamisest matrix-js-sdk, matrix-ios-sdk ja matrix-android-sdk2 raamatukogudes, mis võimaldavad serveriadministraatoritel esineda teiste kasutajatena ja lugeda lõpp-punkti krüpteeritud (E2EE) vestlusi. Haavatavused tulenevad vigadest Matrix protokolli erinevates rakendustes ja ei ole protokolli endaga seotud probleemid. Praegu on projekt välja andnud uuendused probleemsete SDK-de ja nende alusel loodud kliendirakenduste jaoks.
Eduka rünnaku toimumiseks on vajalik juurdepääs kurjategijate kontrollitavale koduserverile serverile (homeserver — server, mis salvestab klientide ajalugu ja kontosid). Klientide poolt lõpp-punkti krüpteerimise rakendamine ei võimalda administraatoril serverile kuuluda vestlusesse, kuid tuvastatud haavatavused võimaldavad selle kaitse mööda hiilida. Probleemid mõjutavad peamist Matrix-kliendi Element (endine Riot) Web, lauaarvutite süsteemide, iOS-i ja Androidi jaoks, samuti kolmandate osapoolte klientrakendusi, sealhulgas Cinny, Beeper, SchildiChat, Circuli ja Synod.im. Haavatavused ei esine teekides matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go ja matrix-nio, samuti rakendustes Hydrogen, ElementX, Nheko, FluffyChat, Syphon, Timmy, Gomuks ja Pantalaimon.
Toodud on kolm peamist rünnakuskeemide stsenaariumi:
- Matrix-serveri administraator võib rikkuda emoji põhjalikku autentimist (SAS, Short Authentication Strings), kasutades ristallkirju ja esineda teise kasutajana. Probleem tuleneb haavatavusest (CVE-2022-39250) matrix-js-sdk koodis, mis on seotud seadmete identifikaatorite ja ristallkirjade võtmete segamisega.
- Serveri tööd kontrolliv ründaja võib vale saatja, kellele võidakse usaldada, ja edastada vale võtme, et jäädvustada sõnumeid teistelt kasutajatelt. Probleem tuleneb haavatavusest matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) ja matrix-android-sdk2 (CVE-2022-39248), mis viis selleni, et klient oli valeandmete tõttu mitteõigesti vastuvõtmas seadmetele adresseeritud sõnumeid, mis on krüpteeritud Megolm protokolli abil, mitte Olm'i abil, omistades sõnumid Megolm saatjale, mitte tegelikule saatjale.
- Kasutades eelnevalt mainitud haavatavusi, võib serveri administraator lisada ka vale varuvõtme kasutajakontole, et hankida võtmeid, mida kasutatakse sõnumite krüpteerimiseks.
Rikkete avastanud teadlased demonstreerisid ka rünnakute käigus kolmanda osapoole lisamist vestlusesse või kellegi seadme sidumist kasutajaga. Rünnakud põhinevad teenuseteadete kasutamisel, mida kasutatakse kasutajate vestlusesse lisamiseks, mis ei ole seotud vestluse looja võtmetega ning võivad serveri administraatori poolt genereeritud. Matrix projekti arendajad liigitasid need haavatavused madala tähtsusega, kuna sellised manipuleerimised ei jää märkamatuks — juhul kui kasutaja asendatakse, kuvatakse ta vestluse kasutajate nimekirjas, ning seadme lisamisel kuvatakse hoiatus ning see seade märgitakse kontrollimatuks (samuti hakkavad pärast seadme lisamist sellele koheselt edastama jagatud võtmed, mis on vajalikud sõnumite dekrüpteerimiseks).
Allikas: opennet.ru
