Sofía Celi

Researcher fromBrave Software
#5411of 53,633
49.4Total CVSS
Vulnerabilities · 6
High
6
PT-2022-24841
7.5
2022-09-28
Unknown · Matrix Javascript Sdk · CVE-2022-39249
**Name of the Vulnerable Software and Affected Versions** Matrix Javascript SDK versions prior to 19.7.0 **Description** 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. 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 their homeservers do not need a workaround. **Recommendations** Update to version 19.7.0 or later, which includes a more strict default policy for accepting key forwards. As a temporary workaround, consider decorating messages decrypted with a key with `trusted = false` appropriately, for example, by showing a warning for such messages. Restrict access to the key forwarding mechanism to minimize the risk of exploitation. Ensure that clients handle messages with `trusted = false` correctly, for example, by showing a warning for such messages.
PT-2022-24843
8.6
2022-09-28
Unknown · Matrix-Js-Sdk · CVE-2022-39250
**Name of the Vulnerable Software and Affected Versions** Matrix JavaScript SDK versions prior to 19.7.0 **Description** The issue is caused by a bug in the matrix-js-sdk, where an attacker cooperating with a malicious homeserver could interfere with the verification flow between two users, injecting its own cross-signing user identity in place of one of the users’ identities. This would lead to the other device trusting/verifying the user identity under the control of the homeserver instead of the intended one. The vulnerability is partly made possible due to the design decision of treating cross-signing user identities as Matrix devices on the server side. No other examined implementations were vulnerable. Starting with version 19.7.0, the matrix-js-sdk has been modified to double check that the key signed is the one that was verified instead of just referencing the key by ID. An additional check has been made to report an error when one of the device ID matches a cross-signing key. **Recommendations** For versions prior to 19.7.0, update to version 19.7.0 or later to resolve the issue. As a temporary workaround, consider reviewing your device list or the device list of other users for devices with IDs in the form of a base64 cross-signing key (e.g., `5XaczGNlfz0bl8R1IX5qn+tBoue2tWJqLMh+SDUuvCk`) instead of classical device ID (e.g., `SEHACYDHMG`). If you trust your homeserver, no particular workaround is needed.