Utvecklarna av den decentraliserade kommunikationsplattformen Matrix har varnat för kritiska sÄrbarheter i biblioteken matrix-js-sdk, matrix-ios-sdk och matrix-android-sdk2, som gör det möjligt för serveradministratörer att utge sig för andra anvÀndare och lÀsa meddelanden i chattar med end-to-end-kryptering (E2EE). SÄrbarheterna beror pÄ fel i specifika implementationer av Matrix-protokollet och Àr inte problem med sjÀlva protokollet. För nÀrvarande har projektet slÀppt uppdateringar för de problematiska SDK:erna och vissa klientapplikationer byggda pÄ deras grund.
För att framgĂ„ngsrikt genomföra en attack krĂ€vs Ă„tkomst till en hemserver som kontrolleras av angriparen servern (homeserver â servern för lagring av historik och anvĂ€ndarkonton). AnvĂ€ndning av end-to-end-kryptering pĂ„ klientsidan gör det inte möjligt för administratören servern att infiltrera meddelandeutbytet, men de identifierade sĂ„rbarheterna ger möjligheter att kringgĂ„ detta skydd. Problemen berör den centrala Matrix-klienten Element (tidigare Riot) för webben, skrivbordssystem, iOS och Android, samt tredjeparts klientapplikationer, inklusive Cinny, Beeper, SchildiChat, Circuli och Synod.im. SĂ„rbarheterna förekommer inte i biblioteken matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go och matrix-nio, samt i applikationerna Hydrogen, ElementX, Nheko, FluffyChat, Syphon, Timmy, Gomuks och Pantalaimon.
Tre huvudsakliga attackeringsscenarier identifieras:
- Administratorn av Matrix-servern kan störa verifikationen baserad pÄ emoji (SAS, Short Authentication Strings) nÀr man anvÀnder korssigneringar och utge sig för andra anvÀndare. Problemet beror pÄ sÄrbarheten (CVE-2022-39250) i koden av matrix-js-sdk, kopplad till blandning av hantering av enhetsidentifierare och nycklar för korssignering.
- Kontrollern av servern kan förfalska en pÄlitlig avsÀndare och överföra en falsk nyckel för att avlyssna meddelanden frÄn andra anvÀndare. Problemet beror pÄ sÄrbarheten i matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) och matrix-android-sdk2 (CVE-2022-39248), vilket gör att klienten felaktigt accepterade adresserade meddelanden till enheter, krypterade med Megolm-protokollet istÀllet för Olm, dÀr meddelanden tilldelades avsÀndaren Megolm snarare Àn den faktiska avsÀndaren.
- Genom att anvÀnda de sÄrbarheter som nÀmndes i föregÄende punkt kan serveradministratören ocksÄ lÀgga till en falsk backnyckel i anvÀndarens konto för att hÀmta nycklar som anvÀnds för att kryptera meddelanden.
Forskare som identifierade sĂ„rbarheten visade ocksĂ„ attacker som ledde till att en extern anvĂ€ndare kan lĂ€ggas till i chatten eller koppla en frĂ€mmande enhet till anvĂ€ndaren. Attackerna bygger pĂ„ att tjĂ€nstemeddelanden som anvĂ€nds för att lĂ€gga till anvĂ€ndare i chatten inte bindas till chattskaparens nycklar och kan genereras av serveradministratören. Utvecklarna av projektet Matrix klassificerade dessa sĂ„rbarheter som obetydliga, eftersom sĂ„dana manipulationer inte förblir omĂ€rkta â om en anvĂ€ndare sĂ€tts in kommer den att visas i listan över chattanvĂ€ndare, och nĂ€r en enhet lĂ€ggs till kommer en varning att visas, och enheten kommer att mĂ€rkas som osĂ€ker (Ă€ven om gemensamma nycklar som behövs för att avkryptera meddelanden börjar skickas till den falska enheten omedelbart efter att den lagts till).
KĂ€lla: opennet.ru
