CVE-2022-39251

Source
https://cve.org/CVERecord?id=CVE-2022-39251
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-39251.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-39251
Aliases
Downstream
Related
Published
2022-09-28T00:00:00Z
Modified
2026-01-31T01:43:45.122208Z
Severity
  • 8.6 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N CVSS Calculator
Summary
Matrix Javascript SDK vulnerable to Olm/Megolm protocol confusion
Details

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.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39251.json",
    "cwe_ids": [
        "CWE-287",
        "CWE-322"
    ],
    "cna_assigner": "GitHub_M"
}
References

Affected packages

Git / github.com/matrix-org/matrix-js-sdk

Affected ranges

Type
GIT
Repo
https://github.com/matrix-org/matrix-js-sdk
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

v0.*
v0.1.0
v0.1.1
v0.10.0
v0.10.0-rc.1
v0.10.0-rc.2
v0.10.1
v0.10.2
v0.10.2-rc.1
v0.10.3
v0.10.3-rc.1
v0.10.4
v0.10.4-rc.1
v0.10.5
v0.10.5-rc.1
v0.10.6
v0.10.6-rc.1
v0.10.7
v0.10.7-rc.1
v0.10.8
v0.10.8-rc.1
v0.10.9
v0.10.9-rc.1
v0.10.9-rc.2
v0.11.0
v0.11.0-rc.1
v0.11.1
v0.11.1-rc.1
v0.12.0
v0.12.0-rc.1
v0.12.1
v0.12.1-rc.1
v0.13.0
v0.13.1
v0.14.0
v0.14.0-rc.1
v0.14.1
v0.14.2
v0.14.2-rc.1
v0.2.0
v0.2.1
v0.2.2
v0.3.0
v0.4.0
v0.4.1
v0.4.2
v0.5.0
v0.5.1
v0.5.2
v0.5.3
v0.5.4
v0.5.5
v0.5.6
v0.6.0-rc1
v0.6.0-rc2
v0.6.1
v0.6.2
v0.6.3
v0.6.4
v0.6.4-rc.1
v0.6.4-rc.2
v0.7.0
v0.7.1
v0.7.1-rc.1
v0.7.10
v0.7.11
v0.7.11-rc.1
v0.7.12
v0.7.12-rc.1
v0.7.13
v0.7.2
v0.7.3
v0.7.4
v0.7.4-rc.1
v0.7.5
v0.7.5-rc.1
v0.7.5-rc.2
v0.7.5-rc.3
v0.7.6
v0.7.6-rc.1
v0.7.6-rc.2
v0.7.7
v0.7.7-rc.1
v0.7.8
v0.7.8-rc.1
v0.7.9
v0.8.0
v0.8.1
v0.8.1-rc.1
v0.8.2
v0.8.3
v0.8.3-rc.1
v0.8.4
v0.8.5
v0.8.5-rc.1
v0.9.0
v0.9.0-rc.1
v0.9.1
v0.9.2
v1.*
v1.0.0
v1.0.0-rc.1
v1.0.0-rc.2
v1.0.1
v1.0.1-rc.1
v1.0.1-rc.2
v1.0.2
v1.0.2-rc.1
v1.0.3
v1.0.3-rc.1
v1.0.4
v1.1.0
v1.1.0-rc.1
v1.2.0
v1.2.0-rc.1
v10.*
v10.0.0
v10.0.0-rc.1
v10.1.0
v10.1.0-rc.1
v11.*
v11.0.0
v11.0.0-rc.1
v11.1.0
v11.1.0-rc.1
v11.2.0
v11.2.0-rc.1
v12.*
v12.0.0
v12.0.0-rc.1
v12.0.1
v12.0.1-rc.1
v12.1.0
v12.1.0-rc.1
v12.2.0
v12.2.0-rc.1
v12.3.0
v12.3.0-rc.1
v12.3.0-rc.2
v12.3.1
v12.4.0
v12.4.0-rc.1
v12.4.1
v12.5.0
v12.5.0-rc.1
v13.*
v13.0.0
v13.0.0-rc.1
v14.*
v14.0.0
v14.0.0-rc.1
v14.0.0-rc.2
v14.0.1
v15.*
v15.0.0
v15.0.0-rc.1
v15.1.0
v15.1.0-rc.1
v15.1.1
v15.1.1-rc.1
v15.2.0
v15.2.0-rc.1
v15.2.1
v15.3.0
v15.3.0-rc.1
v15.4.0
v15.4.0-rc.1
v15.5.0
v15.5.0-rc.1
v15.5.1
v15.5.1-rc.1
v15.5.2
v15.6.0
v15.6.0-rc.1
v16.*
v16.0.0
v16.0.0-rc.1
v16.0.1
v16.0.1-rc.1
v16.0.2-rc.1
v17.*
v17.0.0
v17.0.0-rc.1
v17.0.0-rc.2
v17.0.0-rc.3
v17.1.0
v17.1.0-rc.1
v17.2.0
v17.2.0-rc.1
v18.*
v18.0.0
v18.0.0-rc.1
v18.0.0-rc.2
v18.1.0
v18.1.0-rc.1
v19.*
v19.0.0
v19.0.0-rc.1
v19.1.0
v19.1.0-rc.1
v19.2.0
v19.2.0-rc.1
v19.3.0
v19.3.0-rc.1
v19.3.0-rc.2
v19.4.0
v19.4.0-rc.1
v19.5.0
v19.5.0-rc.1
v19.5.0-rc.2
v19.5.0-rc.3
v19.5.0-rc.4
v19.6.0
v19.6.0-rc.1
v2.*
v2.0.0
v2.0.1
v2.0.1-rc.1
v2.0.1-rc.2
v2.1.0
v2.1.0-rc.1
v2.1.1
v2.2.0
v2.2.0-rc.1
v2.2.0-rc.2
v2.3.0
v2.3.0-rc.1
v2.3.1
v2.3.1-rc.1
v2.3.2
v2.3.2-rc.1
v2.4.0
v2.4.0-rc.1
v2.4.1
v2.4.2
v2.4.2-rc.1
v2.4.3
v2.4.3-rc.1
v2.4.4
v2.4.4-rc.1
v2.4.5
v2.4.6
v2.4.6-rc.1
v3.*
v3.0.0
v3.0.0-rc.1
v3.42.2-rc.3
v4.*
v4.0.0
v4.0.0-rc.1
v5.*
v5.0.0
v5.0.0-rc.1
v5.0.1
v5.1.0
v5.1.0-rc.1
v5.1.1
v5.1.1-rc.1
v5.2.0
v5.2.0-rc.1
v5.3.0-rc.1
v5.3.1-rc.1
v5.3.1-rc.2
v5.3.1-rc.3
v5.3.1-rc.4
v6.*
v6.0.0
v6.0.0-rc.1
v6.0.0-rc.2
v6.1.0
v6.1.0-rc.1
v6.2.0
v6.2.0-rc.1
v6.2.1
v6.2.2
v7.*
v7.0.0
v7.0.0-rc.1
v7.1.0
v7.1.0-rc.1
v8.*
v8.0.0
v8.0.1
v8.0.1-rc.1
v8.1.0
v8.1.0-rc.1
v8.2.0
v8.2.0-rc.1
v8.3.0
v8.3.0-rc.1
v8.4.0
v8.4.0-rc.1
v8.4.1
v8.5.0
v8.5.0-rc.1
v9.*
v9.0.0
v9.0.0-rc.1
v9.0.1
v9.1.0
v9.1.0-rc.1
v9.10.0
v9.10.0-rc.1
v9.11.0
v9.11.0-rc.1
v9.2.0
v9.2.0-rc.1
v9.3.0
v9.3.0-rc.1
v9.4.0
v9.4.0-rc.1
v9.4.0-rc.2
v9.4.1
v9.5.0
v9.5.0-rc.1
v9.5.1
v9.6.0
v9.6.0-rc.1
v9.7.0
v9.7.0-rc.1
v9.8.0
v9.8.0-rc.1
v9.9.0
v9.9.0-rc.1

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-39251.json"