Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Malicious homeservers can steal message keys when the matrix-react-sdk user invites another user to a room

High
dkasak published GHSA-qcvh-p9jq-wp8v Oct 15, 2024

Package

npm matrix-react-sdk (npm)

Affected versions

>= 3.18.0, < 3.102.0

Patched versions

3.102.0

Description

Impact

matrix-react-sdk before 3.102.0 allows a malicious homeserver to potentially steal message keys for a room when a user invites another user to that room, via injection of a malicious device controlled by the homeserver. This is possible because matrix-react-sdk before 3.102.0 shared historical message keys on invite.

Patches

matrix-react-sdk 3.102.0 disables sharing message keys on invite by removing calls to the vulnerable functionality.

Workarounds

None.

References

The vulnerability in matrix-react-sdk is caused by calling MatrixClient.sendSharedHistoryKeys in matrix-js-sdk, which is inherently vulnerable to this sort of attack. This matrix-js-sdk vulnerability is tracked as CVE-2024-47080 / GHSA-4jf8-g8wp-cx7c. Given that this functionality is not specific to sharing message keys on invite, is optional, has to be explicitly called by the caller and has been independently patched in matrix-react-sdk by removing the offending calls, we believe it is proper to treat the matrix-react-sdk vulnerability as a separate one, with its own advisory and CVE.

The matrix-org/matrix-react-sdk repository has recently been archived and the project was moved to element-hq/matrix-react-sdk. Given that this happened after the first patched release, no releases of the project on element-hq/matrix-react-sdk were ever vulnerable to this vulnerability.

Patching pull request: #12618.

For more information

If you have any questions or comments about this advisory, please email us at security at security at matrix.org.

Severity

High

CVE ID

CVE-2024-47824

Weaknesses

Credits