CVE-2022-39251: Matrix Javascript SDK vulnerable to Olm/Megolm protocol confusion
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 that legitimately appear to have come from another person, without any indication such as a grey shield. Additionally, a sophisticated attacker cooperating with a malicious homeserver could employ this vulnerability to perform a targeted attack in order to send fake to-device messages appearing to originate from another user. This can allow, for example, to inject the key backup secret during a self-verification, to make a targeted device start using a malicious key backup spoofed by the homeserver. These attacks are possible due to a protocol confusion vulnerability that accepts to-device messages encrypted with Megolm instead of Olm. Starting with version 19.7.0, matrix-js-sdk has been modified to only accept Olm-encrypted to-device messages. Out of caution, several other checks have been audited or added. This attack requires coordination between a malicious home server and an attacker, so those who trust their home servers do not need a workaround.
Other sources
Thunderbird users who use the Matrix chat protocol were vulnerable to an impersonation attack. An adversary could spoof historical messages from other users. Additionally, a malicious key backup to the user's account under certain unusual conditions in order to exfiltrate message keys.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Thunderbirdto a version that resolves this vulnerability.Fixed in 102.3.1 - Upgrade
Upgrade
alpine/element-webto a version that resolves this vulnerability.Fixed in 1.11.7-r0 - Upgrade
Upgrade
alpine/riot-webto a version that resolves this vulnerability.Fixed in 1.11.7-r0 - Upgrade
Upgrade
redhat/thunderbirdto a version that resolves this vulnerability.Fixed in 102.3.1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 102.3.1 - Upgrade
Upgrade
matrix-js-sdkto a version that resolves this vulnerability.Fixed in 19.7.0
Event History
Peer vulnerabilities
Found alongside the following vulnerabilities.
Frequently Asked Questions
What is CVE-2022-39251?
CVE-2022-39251 is a vulnerability that affects Thunderbird users who use the Matrix chat protocol.
How does CVE-2022-39251 impact Thunderbird users?
CVE-2022-39251 allows an adversary to spoof historical messages from other users and exfiltrate message keys.
Which version of Thunderbird is affected by CVE-2022-39251?
Thunderbird version 102.3.1 is affected by CVE-2022-39251.
What is the severity of CVE-2022-39251?
CVE-2022-39251 has a severity rating of high with a value of 7.
How can Thunderbird users protect themselves from CVE-2022-39251?
Users should update Thunderbird to version 102.3.1 or later to protect themselves from CVE-2022-39251.