Enamikus Matrix'i detsentraliseeritud suhtlusplatformi kliendirakendustes on tuvastatud haavatavused (CVE-2021-40823, CVE-2021-40824), mis võimaldavad hankida teavet võtmete kohta, mida on kasutatud sõnumite edastamiseks lõpuni krüpteeritud vestlustes (E2EE). Ründaja, olles komprimeerinud ühe vestluskaaslase, võib dekodeerida varasemad sõnumid, mis on saadetud sellele kasutajale haavatavatest kliendirakendustest.
Edukaks ärakasutamiseks on vajalik juurdepääs sõnumi saaja kontole. Juurdepääs võib olla saadud kas konto parameetrite leke kaudu või Matrix-serveri häkkimise kaudu, mille kaudu kasutaja on ühendatud. Suurim oht haavatavustest tuleneb krüpteeritud vestlusruumide kasutajatest, mis on ühendatud pahatahtlike kontrolli all olevate Matrix-serveritega. Selliste administraatorid serverid võivad püüda end serveri kasutajatena esitleda, et tabada sõnumeid, mis on saadetud vestlusesse haavatavatest kliendirakendustest.
Haavatavused on põhjustatud loogilistest vigadest võtmete korduvkasutuse mehhanismi rakendustes, mis on pakutud matrix-js-sdk < 12.4.1 (CVE-2021-40823), matrix-android-sdk2 < 1.2.2 (CVE-2021-40824), matrix-rust-sdk < 0.4.0, FamedlySDK < 0.5.0 ja Nheko ≤ 0.8.2. Rakendused, mis põhinevad teistel teekidel nagu matrix-ios-sdk, matrix-nio ja libolm, ei ole haavatavustele alti.
Seetõttu ilmnevad haavatavused kõigis rakendustes, mis on laenanud probleemset koodi, ja ei puuduta otseselt Matrixi ja Olmi/Megolmi protokolle. Eelkõige mõjutab probleem peamist Matrix'i kliendi Element (endine Riot) veebis, lauaarvutites ja Androidis, samuti kolmandate osapoolte kliendirakendusi ja teeke, sealhulgas FluffyChat, Nheko, Cinny ja SchildiChat. Probleem ei ilmne ametlikus iOS-i kliendis ega rakendustes Chatty, Hydrogen, mautrix, purple-matrix ja Syphon.
Haavatavused tuvastati Elementi kliendi turvaauditite käigus. Parandused on praeguseks juba välja antud kõigi probleemsete klientide jaoks. Kasutajatele soovitatakse tungivalt uuendusi installida ja enne uuenduste installimist viia kliendid offline-režiimi. Haavatavuse kuritarvitamise tõendid enne paranduste avaldamist puuduvad. serverid Rünnaku fakti tuvastamine on võimatu, kuid administratorid saavad analüüsida oma serverite autentimislogisid ja hinnata kahtlaste sisenemiste olemasolu, kuna rünnaku jaoks on vajalik konto kompromiteerimine. Kasutajad saavad oma kontoga seotud seadmete nimekirja uurida, et tuvastada hiljutisi uuesti ühendamisi ja usaldusstaatuse muutusi.
Klientide juurdepääsumehhanism võtmete jagamise kaudu, kus on leitud haavoittavusi, võimaldab kliendil, kellel pole sõnumi dekrüpteerimiseks võtmeid, küsida võtmeid saatva seadme või teiste oma seadmete käest. Näiteks on selline võimalus vajalik vana sõnumi dekrüpteerimiseks uuel seadmel või juhul, kui kasutaja on kaotanud olemasolevad võtmed. Protokolli spetsifikatsioon määrab vaikimisi, et võtme küsimise taotlustele ei peaks vastama ning võtmeid saadetakse automaatselt ainult sama kasutaja verifitseeritud seadmetele. Kahjuks ei ole praktikas seda nõuet tagatud ning võtmete saatmise taotlused töödeldi ilma asjakohase seadme tuvastamiseta.
Allikas: opennet.ru
