Vulnerabilidades en clientes Matrix que podrían exponer claves de cifrado de extremo a extremo

Se han identificado vulnerabilidades (CVE-2021-40823, CVE-2021-40824) en la mayoría de las aplicaciones cliente de la plataforma de comunicaciones descentralizadas Matrix, lo que permite compartir información sobre las claves utilizadas para transmitir mensajes en chats cifrados de extremo a extremo (E2EE). obtenido. Un atacante que comprometa a uno de los usuarios del chat puede descifrar mensajes enviados previamente a ese usuario desde aplicaciones cliente vulnerables.

La operación exitosa requiere acceso a la cuenta del destinatario del mensaje. El acceso se puede obtener mediante la filtración de los parámetros de la cuenta o mediante la piratería del servidor Matrix a través del cual se conecta el usuario. Las vulnerabilidades representan el mayor peligro para los usuarios de salas de chat cifradas a las que están conectados los servidores Matrix controlados por los atacantes. Los administradores de dichos servidores pueden intentar hacerse pasar por usuarios del servidor para interceptar mensajes de chat enviados desde aplicaciones cliente vulnerables.

Las vulnerabilidades son causadas por errores lógicos en la implementación del mecanismo de reproducción de claves propuesto en Matrix-js-sdk < 12.4.1 (CVE-2021-40823), Matrix-android-sdk2 < 1.2.2 (CVE-2021-40824) , matriz -rust-sdk <0.4.0, FamedlySDK <0.5.0 y Nheko ≤ 0.8.2. Las implementaciones basadas en las bibliotecas Matrix-ios-sdk, Matrix-nio y Libolm no son susceptibles a vulnerabilidades.

En consecuencia, aparecen vulnerabilidades en todas las aplicaciones que toman prestado el código problemático y no afectan directamente a los protocolos Matrix y Olm/Megolm. En particular, el problema afecta al elemento principal del cliente Matrix (anteriormente Riot) para Web, escritorio y Android, así como a aplicaciones y bibliotecas cliente de terceros, incluidos FluffyChat, Nheko, Cinny y SchildiChat. El problema no aparece en el cliente oficial de la plataforma iOS, ni tampoco en las aplicaciones Chatty, Hydrogen, mautrix, purple-matrix y Syphon.

Las vulnerabilidades fueron identificadas durante una auditoría de seguridad del cliente Element. Ya se han publicado correcciones para todos los clientes afectados. Se recomienda a los usuarios que instalen las actualizaciones inmediatamente y desconecten a los clientes antes de instalar la actualización. No hay evidencia de explotación de la vulnerabilidad antes de la publicación del parche. Es imposible determinar el hecho de un ataque utilizando los registros estándar del cliente y del servidor, pero dado que el ataque requiere comprometer la cuenta, los administradores pueden analizar la presencia de inicios de sesión sospechosos utilizando registros de autenticación en sus servidores, y los usuarios pueden evaluar la lista de dispositivos vinculados. a su cuenta para reconexiones recientes y cambios de estado de confianza.

El mecanismo de intercambio de claves, en cuya implementación se encontraron vulnerabilidades, permite que un cliente que no tiene las claves para descifrar un mensaje solicite claves del dispositivo del remitente o de sus otros dispositivos. Por ejemplo, dicha capacidad es necesaria para garantizar el descifrado de mensajes antiguos en un dispositivo de usuario nuevo o si el usuario pierde las claves existentes. La especificación del protocolo prescribe de forma predeterminada no responder a solicitudes clave y enviarlas automáticamente solo a dispositivos verificados del mismo usuario. Desafortunadamente, en implementaciones prácticas este requisito no se cumplió y las solicitudes de envío de claves se procesaron sin la identificación adecuada del dispositivo.

Fuente: opennet.ru

Añadir un comentario