„Matrix“ klientų pažeidžiamumas, galintis atskleisti galutinius šifravimo raktus

Daugumoje „Matrix“ decentralizuotos komunikacijos platformos klientų taikomųjų programų buvo nustatytos pažeidžiamumo vietos (CVE-2021-40823, CVE-2021-40824), leidžiančios gauti informaciją apie raktus, naudojamus perduodant pranešimus tiesioginiuose šifruotuose (E2EE) pokalbiuose. gautas. Užpuolikas, kuris pažeidžia vieną iš pokalbių vartotojų, gali iššifruoti pranešimus, anksčiau išsiųstus tam vartotojui iš pažeidžiamų kliento programų.

Sėkmingai operacijai reikalinga prieiga prie pranešimo gavėjo paskyros. Prieiga gali būti gauta nutekėjus paskyros parametrams arba įsilaužus į Matrix serverį, per kurį vartotojas prisijungia. Pažeidžiamumas didžiausią pavojų kelia šifruotų pokalbių kambarių, prie kurių yra prijungti užpuolikų valdomi Matrix serveriai, vartotojams. Tokių serverių administratoriai gali bandyti apsimesti serverio vartotojais, kad perimtų pokalbių pranešimus, siunčiamus iš pažeidžiamų klientų programų.

Pažeidžiamumų sukelia loginės klaidos diegiant rakto atkūrimo mechanizmą, siūlomą matrix-js-sdk < 12.4.1 (CVE-2021-40823), matrix-android-sdk2 < 1.2.2 (CVE-2021-40824) , matrica -rust-sdk < 0.4.0, FamedlySDK < 0.5.0 ir Nheko ≤ 0.8.2. Diegimai, pagrįsti matrix-ios-sdk, matrix-nio ir libolm bibliotekomis, nėra jautrūs pažeidžiamumui.

Atitinkamai, pažeidžiamumų atsiranda visose programose, kurios pasiskolina probleminį kodą ir neturi tiesioginės įtakos Matrix ir Olm/Megolm protokolams. Visų pirma, problema paliečia pagrindinį „Matrix“ kliento elementą (anksčiau vadintą „Riot“), skirtą žiniatinkliui, staliniams kompiuteriams ir „Android“, taip pat trečiųjų šalių klientų programoms ir bibliotekoms, įskaitant „FluffyChat“, „Nheko“, „Cinny“ ir „SchildiChat“. Problema nerodoma oficialiame „iOS“ platformos kliente, taip pat „Chatty“, „Hydrogen“, „mautrix“, „purple-matrix“ ir „Siphon“ programose.

Pažeidžiamumas buvo nustatytas atliekant „Element“ kliento saugos auditą. Pataisymai buvo išleisti visiems paveiktiems klientams. Naudotojams patariama nedelsiant įdiegti naujinimus ir atjungti klientus prieš diegiant naujinimą. Nėra jokių įrodymų, kad pažeidžiamumas buvo išnaudotas prieš pataisos paskelbimą. Neįmanoma nustatyti atakos fakto naudojant standartinius kliento ir serverio žurnalus, tačiau kadangi atakai reikia pažeisti paskyrą, administratoriai gali analizuoti įtartinų prisijungimų buvimą naudodami autentifikavimo žurnalus savo serveriuose, o vartotojai gali įvertinti susietų įrenginių sąrašą. į savo paskyrą dėl paskutinių prisijungimų ir būsenos pasikeitimų pasitikėjimo.

Raktų dalijimosi mechanizmas, kurį įgyvendinant buvo rasta pažeidžiamumų, leidžia klientui, neturinčiam raktų, iššifruoti pranešimą, prašyti raktų iš siuntėjo įrenginio ar kitų jo įrenginių. Pavyzdžiui, tokia galimybė reikalinga norint užtikrinti senų pranešimų iššifravimą naujame vartotojo įrenginyje arba vartotojui praradus esamus raktus. Protokolo specifikacija pagal numatytuosius nustatymus numato neatsakyti į pagrindines užklausas ir automatiškai siųsti jas tik į patikrintus to paties vartotojo įrenginius. Deja, praktiškai šis reikalavimas nebuvo įvykdytas, o užklausos išsiųsti raktus buvo apdorotos tinkamai neidentifikavus įrenginio.

Šaltinis: opennet.ru

Добавить комментарий