A decentralizált kommunikációs platform, a Matrix ügyfélalkalmazásaiban számos biztonsági rést azonosítottak (CVE-2021-40823, CVE-2021-40824), amelyek lehetővé teszik a titkosítási kulcsokhoz való hozzáférést, amelyeket a végpontok közötti titkosítással (E2EE) rendelkező csevegések üzeneteinek továbbításához használnak. A támadó, aki kompromittálta a csevegés egyik felhasználóját, képes lehet visszafejteni a sebezhető kliensalkalmazásokból korábban ennek a felhasználónak elküldött üzeneteket.
A sikeres kihasználás érdekében szükség van a célzott üzenetek címzettjeihez való hozzáférésre. A hozzáférés megszerezhető a fiókparaméterek kiszivárgásán keresztül vagy a felhasználó által csatlakoztatott Matrix-szerver feltörésével. A biztonsági rések különösen veszélyesek azok számára, akik titkosított csevegőszobákban vannak, ahol a Matrix-szerverek a támadók irányítása alatt állnak. Az ilyen szerverek adminisztrátorai szerverek megpróbálhatják magukat a szerver felhasználóiként kiadni, hogy elfogják a sebezhető kliensalkalmazásokon keresztül küldött üzeneteket.
A biztonsági rések a kulcsok újbóli elérhetőségét biztosító mechanizmusban található logikai hibákból erednek, amelyeket a 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 és Nheko ≤ 0.8.2 javasolt. A matrix-ios-sdk, matrix-nio és libolm alapú megvalósítások nem szenvednek biztonsági résektől.
Így a biztonsági rések megjelennek minden alkalmazásban, amely a problémás kódot átvette, és nem érintik közvetlenül a Matrix és Olm/Megolm protokollokat. Különösen a probléma érinti a fő Matrix-ügyfelet, az Elementet (korábban Riot) a Web, asztali rendszerek és Android platformokon, valamint a harmadik féltől származó kliensalkalmazásokat és könyvtárakat, beleértve a FluffyChat-et, Nheko-t, Cinny-t és SchildiChat-et. A probléma nem jelentkezik az iOS platformra készült hivatalos ügyfélben, valamint a Chatty, Hydrogen, mautrix, purple-matrix és Syphon alkalmazásokban.
A biztonsági réseket az Element kliens biztonsági auditja során azonosították. A problémás ügyfelek számára már kiadták a javításokat. A felhasználóknak sürgősen telepíteniük kell a frissítéseket, és a frissítés telepítése előtt offline módba kell kapcsolniuk az ügyfeleket. A javításhoz való publikálás előtt nem álltak rendelkezésre a biztonsági rések kihasználásának bizonyítékai. A kliens szabványos naplója alapján a szerver A támadás tényének megállapítása lehetetlen, de mivel a támadáshoz a fiók kompromittálása szükséges, a rendszergazdák elemezhetik a bejelentkezési naplókat a gyanús bejegyzések szempontjából, míg a felhasználók ellenőrizhetik a fiókjukhoz kapcsolt eszközök listáját a legutóbbi újrakapcsolódások és a bizalmi státuszváltozások tekintetében.
A kulcsmegosztás (key sharing) mechanizmusa, amelyben sebezhetőségeket találtak, lehetővé teszi a felhasználó számára, aki nem rendelkezik a titkosításhoz szükséges kulcsokkal, hogy kulcsokat kérjen a küldő eszköztől vagy saját más eszközeiktől. Például ez a lehetőség szükséges az előző üzenetek új eszközön történő dekódolásához, vagy abban az esetben, ha a felhasználó elveszíti a birtokában lévő kulcsokat. A protokoll specifikációja előírja, hogy alapértelmezés szerint ne válaszoljanak a kulcskérésekre, és azokat automatikusan csak a felhasználó azonosított eszközeinek küldjék. Sajnos a gyakorlati megvalósításokban ezt a követelményt nem teljesítették, és a kulcsok küldésére vonatkozó kéréseket megfelelő eszközazonosítás nélkül kezelték.
Forrás: opennet.ru
