Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Matrix JavaScript SDK (CVE-2022-39250)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-287 Autenticación incorrecta
Fecha de publicación:
29/09/2022
Última modificación:
03/12/2022

Descripción

Matrix JavaScript SDK es el kit de desarrollo de software (SDK) cliente-servidor de Matrix para JavaScript. En versiones anteriores a 19.7.0, un atacante que cooperara con un servidor doméstico malicioso podría interferir con el flujo de verificación entre dos usuarios, inyectando su propia identidad de usuario de firma cruzada en lugar de la identidad de uno de los usuarios. Esto conllevaría a que el otro dispositivo confiara/verificara la identidad del usuario bajo el control del servidor doméstico en lugar de la prevista. La vulnerabilidad es un bug en el matrix-js-sdk, causado por la comprobación y firma de las identidades de los usuarios y los dispositivos en dos pasos separados, y la fijación inapropiada de las claves a firmar entre esos pasos. Aunque el ataque es posible en parte debido a la decisión de diseño de tratar las identidades de usuario de firma cruzada como dispositivos de Matrix en el lado del servidor (con su ID de dispositivo establecido en la parte pública de la clave de identidad del usuario), ninguna otra implementación examinada era vulnerable. A partir de la versión 19.7.0, el matrix-js-sdk ha sido modificado para comprobar dos veces que la clave firmada es la que ha sido verificada en lugar de hacer referencia a la clave por su ID. Ha sido realizada una comprobación adicional para informar de un error cuando uno de los ID del dispositivo coincide con una clave de firma cruzada. Como este ataque requiere la coordinación entre un servidor doméstico malicioso y un atacante, quienes confían en sus servidores domésticos no necesitan una mitigación particular

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:matrix:javascript_sdk:*:*:*:*:*:node.js:*:* 19.7.0 (excluyendo)