A decentralizált kommunikációs platform, a Matrix fejlesztői figyelmeztették a kritikus sebezhetőségekre a matrix-js-sdk, matrix-ios-sdk és matrix-android-sdk2 könyvtárakban, amelyek lehetővé teszik a szerveradminisztrátorok számára, hogy más felhasználóknak adják ki magukat, és olvassák a végpontok közötti titkosítással (E2EE) védett csevegések üzeneteit. A sebezhetőségek a Matrix protokoll különböző megvalósításaiban lévő hibákból adódnak, és nem a protokoll magának a problémái. Jelenleg a projekt kiadta a problémás SDK-k frissítéseit és néhány, azokra épülő kliensalkalmazást.
A támadás sikeres végrehajtásához a támadó által kontrollált otthoni szerverhez (homeserver – a kliens történetének és fiókjainak tárolására szolgáló szerver) elérésére van szükség. A végpontok közötti titkosítás alkalmazása a kliensoldalon nem engedi meg az adminisztrátor számára, hogy a szerver belépjen a csevegésbe, de a feltárt sebezhetőségek lehetővé teszik e védelem megkerülését. A problémák érintik az alap Matrix klienst, az Elementet (korábban Riot) a Web, asztali rendszerek, iOS és Android platformokon, illetve harmadik fél kliensalkalmazásait, mint például a Cinny, Beeper, SchildiChat, Circuli és Synod.im. A sebezhetőségek nem jelentkeznek a matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go és matrix-nio könyvtárakban, valamint a Hydrogen, ElementX, Nheko, FluffyChat, Syphon, Timmy, Gomuks és Pantalaimon alkalmazásokban.
Három fő támadási forgatókönyv különböztethető meg:
- A Matrix-szerver adminisztrátora képes megszakítani az emoji alapú azonosítást (SAS, Rövid Hitelesítési Sztringek) keresztezett aláírások használatakor, és más felhasználónak kiadni magát. A probléma a matrix-js-sdk kódjában felfedezett sebezhetőségből (CVE-2022-39250) adódik, amely az eszközazonosítók és a keresztezett aláírások kezelésének keveredésével függ össze.
- A szervert irányító támadó hamisíthat egy megbízható feladót, és hamis kulcsot adhat át más felhasználóktól érkező üzenetek elfogására. A probléma a matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) és matrix-android-sdk2 (CVE-2022-39248) sebezhetőségéből ered, amely miatt a kliens helytelenül fogadta az eszközökhöz címzett üzeneteket, amelyeket a Megolm protokollt használva titkosítottak, nem az Olmot, és a Megolm küldőjének tulajdonította az üzeneteket, nem pedig a tényleges küldőnek.
- A szerver adminisztrátora a fent említett sebezhetőségeket felhasználva hamis tartalék kulcsot is hozzáadhat a felhasználói fiókhoz az üzenetek titkosításához használt kulcsok kinyerésére.
A sebezhetőséget felfedező kutatók demonstrálták azokat a támadásokat is, amelyek lehetővé teszik, hogy egy harmadik felhasználó csatlakozzon a chathez, vagy egy idegen eszközt csatoljanak a felhasználóhoz. A támadások azon alapulnak, hogy a chatbe való felhasználók hozzáadására használt szolgáltató üzenetek nincsenek összekapcsolva a chat létrehozójának kulcsaival, és azokat a szerver adminisztrátora generálhatja. A Matrix projekt fejlesztői ezeket a sebezhetőségeket jelentéktelennek minősítették, mivel az ilyen manipulációk nem maradnak észrevétlenek – a felhasználó helyettesítése esetén megjelenik a chat felhasználóinak listájában, míg egy eszköz hozzáadása figyelmeztetést vált ki, és az eszköz ellenőrizetlenként lesz megjelölve (mivel a hamisított eszközhöz történő azonnali hozzáadáskor elkezdik átadni a titkosításához szükséges közös kulcsokat).
Forrás: opennet.ru
