CVE-2022-39249highCWE-287CWE-322

CVE-2022-39249: falha de alta gravidade em matrix-org matrix-js-sdk

Matrix Javascript SDK vulnerable to impersonation via forwarded Megolm sessions

Publicada em · Atualizada em

Aviso por e-mail quando ela entrar no KEV, ganhar PoC pública ou subir de nota.

21Vexday Risk Score

Sem sinal de exploração. Nenhum artefato público de exploração conhecido até agora.

ssvc Trackcvss 7.5epss 1.3%
Em resumo

O SDK Javascript da Matrix (anterior à versão 19.7.0) permite que atacantes que trabalhem com um servidor malicioso criem mensagens falsas que pareçam vir de outros usuários. A vulnerabilidade existe porque o SDK era muito permissivo ao aceitar chaves de criptografia repassadas, facilitando a falsificação de identidade em conversas criptografadas.

Detalhe técnico

O CVE-2022-39249 explora validação fraca de reencaminhamento de chaves no mecanismo de descriptografia Megolm do matrix-js-sdk. Um atacante conluiado com um servidor comprometido pode injetar chaves de sessão repassadas sem verificação adequada, viabilizando falsificação de mensagens em salas com criptografia ponta-a-ponta. A correção impõe políticas de aceitação mais rigorosas, exigindo que as chaves repassadas venham de fontes previamente solicitadas e dispositivos verificados, com uma flag `trusted` marcando a autenticidade da descriptografia.

Resumo gerado e traduzido por IA a partir da descrição oficial.
Matrix Javascript SDK is the Matrix Client-Server SDK for JavaScript. Prior to version 19.7.0, an attacker cooperating with a malicious homeserver can construct messages appearing to have come from another person. Such messages will be marked with a grey shield on some platforms, but this may be missing in others. This attack is possible due to the matrix-js-sdk implementing a too permissive key forwarding strategy on the receiving end. Starting with version 19.7.0, the default policy for accepting key forwards has been made more strict in the matrix-js-sdk. matrix-js-sdk will now only accept forwarded keys in response to previously issued requests and only from own, verified devices. The SDK now sets a `trusted` flag on the decrypted message upon decryption, based on whether the key used to decrypt the message was received from a trusted source. Clients need to ensure that messages decrypted with a key with `trusted = false` are decorated appropriately, for example, by showing a warning for such messages. This attack requires coordination between a malicious homeserver and an attacker, and those who trust your homeservers do not need a workaround.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N