Në shumicën e aplikacioneve kliente për platformën e komunikimeve të decentralizuara Matrix janë identifikuar dobësi (CVE-2021-40823, CVE-2021-40824), që lejojnë marrjen e informacionit mbi çelësat e përdorur për dërgimin e mesazheve në bisedat me enkriptim end-to-end (E2EE). Një sulmues, duke komprometuar një nga përdoruesit e bisedës, mund të dekriptojë mesazhet e dërguara më parë këtij përdoruesi nga aplikacionet kliente të cenueshme.
Për të shfrytëzuar me sukses këtë dobësi, kërkohet që të ketë akses në llogarinë e marrësit të mesazheve. Aksesi mund të sigurohet përmes rrjedhjes së parametrave të llogarisë, si dhe përmes sulmit ndaj serverit Matrix, përmes së cilit lidhet përdoruesi. Rreziku më i madh nga dobësitë përbën për përdoruesit e dhomave të bisedave të enkriptuara, të cilat janë të lidhura me serverë Matrix nën kontrollin e sulmuesve. Administratoret e tillë servera mund të përpiqen të mashtrojnë si përdorues të serverit për të kapur mesazhet që dërgohen në bisedat me aplikacione kliente të cenueshme.
Dobit e shfaqur për shkak të gabimeve logjike në implementimin e mekanizmave për riaktivizimin e çelësave, siç janë propozuar në 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 dhe Nheko †0.8.2. Implementimet që bazohet në bibliotekat matrix-ios-sdk, matrix-nio dhe libolm nuk janë të prekura nga këto dobësi.
Si rezultat, dobësitë shfaqen në të gjitha aplikacionet që kanë marrë kodin problematik dhe nuk prekin drejtpërdrejt protokollet Matrix dhe Olm/Megolm. Në veçanti, problemi prek klientin kryesor Matrix, Element (dhe më parë Riot) për Web, sisteme desktop dhe Android, si dhe aplikacionet dhe bibliotekat e tjera të klientëve, duke përfshirë FluffyChat, Nheko, Cinny dhe SchildiChat. Problemi nuk shfaqet në klientin zyrtar për platformën iOS, ashtu si në aplikacionet Chatty, Hydrogen, mautrix, purple-matrix dhe Syphon.
Vulnerabilitetet u zbuluan gjatë auditimit të sigurisë së klientit Element. Rregullimet tashmë janë lëshuar për të gjitha klientët në problem. Përdoruesve u rekomandohet të instalojnë menjëherë përditësimet, dhe deri në instalimin e përditësimit t'i çojnë klientët në modalitet offline. Dëshmitë për shfrytëzimin e vulnerabilitetit para publikimit të rregullimit nuk ekzistojnë. Sipas regjistrimeve të zakonshme të klientit dhe server përcaktimi i faktit të sulmit është i pamundur, por pasi që për sulmin kërkohet komprometimi i llogarisë, administratorët mund të analizojnë praninë e hyrjeve të dyshimta sipas regjistrimeve të autentifikimit në serverët e tyre, ndërsa përdoruesit të vlerësojnë listën e pajisjeve të lidhura me llogarinë e tyre për lidhje të reja dhe ndryshime të statusit të besueshmërisë.
Mekanizmi i rikthimit të çelësave (key sharing), në zbatimin e të cilit janë gjetur dobësi, lejon një klient që nuk ka çelësa për të dekriptuar një mesazh të kërkojë çelësat nga pajisja dërguese ose nga pajisjet e tjera të tij. Për shembull, një mundësi e tillë është e nevojshme për të siguruar dekriptimin e mesazheve të vjetra në një pajisje të re të përdoruesit ose në rast humbjeje të çelësave që kishte përdoruesi. Specifikimi i protokollit parashikon që me default të mos përgjigjet në kërkesat e çelësave dhe t'i dërgojë ato automatikisht vetëm pajisjeve të verifikuara të të njëjtit përdorues. Fatkeqësisht, në zbatimet praktike, ky kërkesë nuk u përmbush dhe kërkesat për dërgimin e çelësave u përpunuan pa identifikimin e duhur të pajisjes.
Burimi: opennet.ru
