{"id":"CVE-2022-39249","summary":"Matrix Javascript SDK vulnerable to impersonation via forwarded Megolm sessions","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 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.","aliases":["GHSA-6263-x97c-c4gg"],"modified":"2026-04-16T04:38:43.300877433Z","published":"2022-09-28T00:00:00Z","related":["ALSA-2022:7178","ALSA-2022:7190","SUSE-SU-2022:3800-1","openSUSE-SU-2024:12374-1","openSUSE-SU-2024:12375-1","openSUSE-SU-2024:12379-1"],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-287","CWE-322"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39249.json"},"references":[{"type":"WEB","url":"https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39249.json"},{"type":"ADVISORY","url":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-6263-x97c-c4gg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-39249"},{"type":"ADVISORY","url":"https://security.gentoo.org/glsa/202210-35"},{"type":"FIX","url":"https://github.com/matrix-org/matrix-js-sdk/commit/a587d7c36026fe1fcf93dfff63588abee359be76"},{"type":"FIX","url":"https://github.com/matrix-org/matrix-spec-proposals/pull/3061"},{"type":"ARTICLE","url":"https://matrix.org/blog/2022/09/28/upgrade-now-to-address-encryption-vulns-in-matrix-sdks-and-clients"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/matrix-org/matrix-js-sdk","events":[{"introduced":"0"},{"fixed":"2d067ad95778b26aed24b801be0951e215c3ac8c"}]}],"versions":["v0.1.0","v0.1.1","v0.10.2","v0.10.2-rc.1","v0.10.3","v0.10.3-rc.1","v0.10.5","v0.10.5-rc.1","v0.10.7","v0.10.7-rc.1","v0.11.0","v0.11.0-rc.1","v0.2.0","v0.2.1","v0.2.2","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.4","v0.6.4-rc.2","v0.7.1-rc.1","v0.7.10","v0.7.2","v0.7.4","v0.7.4-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","v1.0.0","v1.0.0-rc.1","v1.0.0-rc.2","v19.6.0","v19.6.0-rc.1","v2.0.1","v2.0.1-rc.1","v2.0.1-rc.2","v2.4.1","v5.0.1","v7.1.0","v7.1.0-rc.1","v8.0.0","v8.1.0","v8.1.0-rc.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-39249.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}]}