In de meeste klantapplicaties voor het gedecentraliseerde communicatieplatform Matrix zijn kwetsbaarheden ontdekt (CVE-2021-40823, CVE-2021-40824) die informatie over de sleutels die zijn gebruikt voor het verzenden van berichten in chats met end-to-end encryptie (E2EE) kunnen onthullen. Een aanvaller kan, door een van de chatgebruikers te compromitteren, berichten ontsleutelen die eerder naar deze gebruiker zijn verzonden vanuit kwetsbare klantapplicaties.
Voor succesvolle exploitatie is toegang tot het account van de ontvanger van de berichten vereist. Deze toegang kan worden verkregen via een lek in de accountparameters of door het hacken van de Matrix-server waarmee de gebruiker is verbonden. De kwetsbaarheden vormen de grootste bedreiging voor gebruikers van versleutelde chatrooms die zijn verbonden met Matrix-servers die onder controle staan van kwaadwillenden. Beheerders van dergelijke servers kunnen proberen zich voor te doen als gebruikers van de server om berichten die naar de chat worden verzonden vanuit kwetsbare klantapplicaties te onderscheppen.
De kwetsbaarheden zijn veroorzaakt door logische fouten in de implementaties van het mechanisme voor het opnieuw bieden van toegang tot sleutels, voorgesteld in 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 en Nheko ⤠0.8.2. Implementaties die zijn gebaseerd op de bibliotheken matrix-ios-sdk, matrix-nio en libolm zijn niet kwetsbaar.
Dus, de kwetsbaarheden doen zich voor in alle applicaties die de probleemcode hebben geleend en raken niet direct de protocollen Matrix en Olm/Megolm. In het bijzonder heeft het probleem betrekking op de belangrijkste Matrix-client Element (voorheen Riot) voor web, desktop systemen en Android, evenals op derden klantapplicaties en bibliotheken, inclusief FluffyChat, Nheko, Cinny en SchildiChat. Het probleem doet zich niet voor in de officiƫle client voor het iOS-platform, noch in de applicaties Chatty, Hydrogen, mautrix, purple-matrix en Syphon.
De kwetsbaarheden zijn ontdekt tijdens een beveiligingsaudit van de Element-client. Correcties zijn inmiddels al uitgebracht voor alle problematische clients. Gebruikers wordt dringend aangeraden om updates te installeren en, voordat ze de updates installeren, hun clients in de offline modus te zetten. Er zijn geen aanwijzingen voor het gebruik van de kwetsbaarheid voordat de correctie werd gepubliceerd. de server Het is onmogelijk om een aanvalaanwijs te bepalen, maar aangezien een aanval compromittering van het account vereist, kunnen beheerders verdachte inlogpogingen in de authenticatielogs op hun servers analyseren, terwijl gebruikers de lijst met apparaten die aan hun account zijn gekoppeld kunnen bekijken op recente herverbindingen en wijzigingen in het vertrouwensniveau.
Het mechanisme voor het delen van sleutels (key sharing), waarin kwetsbaarheden zijn ontdekt, stelt een klant zonder decryptiesleutels in staat om sleutels op te vragen bij het verzendende apparaat of andere apparaten van dezelfde gebruiker. Deze mogelijkheid is bijvoorbeeld nodig om oude berichten op een nieuw apparaat van de gebruiker te ontsleutelen of in het geval dat de gebruiker zijn sleutels heeft verloren. De specificatie van het protocol schrijft voor dat er standaard niet op sleutelverzoeken wordt gereageerd en dat deze alleen automatisch naar geverifieerde apparaten van dezelfde gebruiker worden gestuurd. Helaas is deze eis in praktische implementaties niet nageleefd en werden verzoeken om sleutels te verzenden verwerkt zonder de juiste identificatie van het apparaat.
Bron: opennet.ru
