{"api_version":"1","generated_at":"2026-04-23T04:11:25+00:00","cve":"CVE-2022-39249","urls":{"html":"https://cve.report/CVE-2022-39249","api":"https://cve.report/api/cve/CVE-2022-39249.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2022-39249","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2022-39249"},"summary":{"title":"CVE-2022-39249","description":"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.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2022-09-28 20:15:00","updated_at":"2022-12-08 03:13:00"},"problem_types":["CWE-287"],"metrics":[],"references":[{"url":"https://github.com/matrix-org/matrix-spec-proposals/pull/3061","name":"https://github.com/matrix-org/matrix-spec-proposals/pull/3061","refsource":"MISC","tags":[],"title":"MSC3061: Sharing room keys for past messages by uhoreg · Pull Request #3061 · matrix-org/matrix-spec-proposals · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://matrix.org/blog/2022/09/28/upgrade-now-to-address-encryption-vulns-in-matrix-sdks-and-clients","name":"https://matrix.org/blog/2022/09/28/upgrade-now-to-address-encryption-vulns-in-matrix-sdks-and-clients","refsource":"MISC","tags":[],"title":"Upgrade now to address E2EE vulnerabilities in matrix-js-sdk, matrix-ios-sdk and matrix-android-sdk2 | Matrix.org","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://security.gentoo.org/glsa/202210-35","name":"GLSA-202210-35","refsource":"GENTOO","tags":[],"title":"Mozilla Thunderbird: Multiple Vulnerabilities (GLSA 202210-35) — Gentoo security","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-6263-x97c-c4gg","name":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-6263-x97c-c4gg","refsource":"CONFIRM","tags":[],"title":"Impersonation via forwarded Megolm sessions · Advisory · matrix-org/matrix-js-sdk · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0","name":"https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0","refsource":"MISC","tags":[],"title":"Release v19.7.0 · matrix-org/matrix-js-sdk · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/matrix-js-sdk/commit/a587d7c36026fe1fcf93dfff63588abee359be76","name":"https://github.com/matrix-org/matrix-js-sdk/commit/a587d7c36026fe1fcf93dfff63588abee359be76","refsource":"MISC","tags":[],"title":"Resolve multiple CVEs · matrix-org/matrix-js-sdk@a587d7c · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-39249","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-39249","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2022","cve_id":"39249","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"matrix","cpe5":"javascript_sdk","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2022-39249","qid":"160177","title":"Oracle Enterprise Linux Security Update for thunderbird (ELSA-2022-7184)"},{"cve":"CVE-2022-39249","qid":"160181","title":"Oracle Enterprise Linux Security Update for thunderbird (ELSA-2022-7178)"},{"cve":"CVE-2022-39249","qid":"160184","title":"Oracle Enterprise Linux Security Update for thunderbird (ELSA-2022-7190)"},{"cve":"CVE-2022-39249","qid":"199024","title":"Ubuntu Security Notification for Thunderbird Vulnerabilities (USN-5724-1)"},{"cve":"CVE-2022-39249","qid":"240784","title":"Red Hat Update for thunderbird (RHSA-2022:7184)"},{"cve":"CVE-2022-39249","qid":"240786","title":"Red Hat Update for thunderbird (RHSA-2022:7190)"},{"cve":"CVE-2022-39249","qid":"240787","title":"Red Hat Update for thunderbird (RHSA-2022:7178)"},{"cve":"CVE-2022-39249","qid":"240791","title":"Red Hat Update for thunderbird (RHSA-2022:7182)"},{"cve":"CVE-2022-39249","qid":"240792","title":"Red Hat Update for thunderbird (RHSA-2022:7181)"},{"cve":"CVE-2022-39249","qid":"354131","title":"Amazon Linux Security Advisory for thunderbird : ALAS2-2022-1900"},{"cve":"CVE-2022-39249","qid":"377612","title":"Mozilla Thunderbird Multiple Vulnerabilities (MFSA2022-43)"},{"cve":"CVE-2022-39249","qid":"502515","title":"Alpine Linux Security Update for riot-web"},{"cve":"CVE-2022-39249","qid":"503177","title":"Alpine Linux Security Update for element-web"},{"cve":"CVE-2022-39249","qid":"506037","title":"Alpine Linux Security Update for element-web"},{"cve":"CVE-2022-39249","qid":"690947","title":"Free Berkeley Software Distribution (FreeBSD) Security Update for matrix clients (cb902a77-3f43-11ed-9402-901b0e9408dc)"},{"cve":"CVE-2022-39249","qid":"710676","title":"Gentoo Linux Mozilla Thunderbird Multiple Vulnerabilities (GLSA 202210-35)"},{"cve":"CVE-2022-39249","qid":"753237","title":"SUSE Enterprise Linux Security Update for MozillaThunderbird (SUSE-SU-2022:3800-1)"},{"cve":"CVE-2022-39249","qid":"940708","title":"AlmaLinux Security Update for thunderbird (ALSA-2022:7190)"},{"cve":"CVE-2022-39249","qid":"940711","title":"AlmaLinux Security Update for thunderbird (ALSA-2022:7178)"},{"cve":"CVE-2022-39249","qid":"960256","title":"Rocky Linux Security Update for thunderbird (RLSA-2022:7190)"}]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2022-39249","STATE":"PUBLIC","TITLE":"Matrix Javascript SDK vulnerable to impersonation via forwarded Megolm sessions"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"matrix-js-sdk","version":{"version_data":[{"version_value":"< 19.7.0"}]}}]},"vendor_name":"matrix-org"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"impact":{"cvss":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-322: Key Exchange without Entity Authentication"}]},{"description":[{"lang":"eng","value":"CWE-287: Improper Authentication"}]}]},"references":{"reference_data":[{"name":"https://github.com/matrix-org/matrix-js-sdk/commit/a587d7c36026fe1fcf93dfff63588abee359be76","refsource":"MISC","url":"https://github.com/matrix-org/matrix-js-sdk/commit/a587d7c36026fe1fcf93dfff63588abee359be76"},{"name":"https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0","refsource":"MISC","url":"https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0"},{"name":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-6263-x97c-c4gg","refsource":"CONFIRM","url":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-6263-x97c-c4gg"},{"name":"https://github.com/matrix-org/matrix-spec-proposals/pull/3061","refsource":"MISC","url":"https://github.com/matrix-org/matrix-spec-proposals/pull/3061"},{"name":"https://matrix.org/blog/2022/09/28/upgrade-now-to-address-encryption-vulns-in-matrix-sdks-and-clients","refsource":"MISC","url":"https://matrix.org/blog/2022/09/28/upgrade-now-to-address-encryption-vulns-in-matrix-sdks-and-clients"},{"refsource":"GENTOO","name":"GLSA-202210-35","url":"https://security.gentoo.org/glsa/202210-35"}]},"source":{"advisory":"GHSA-6263-x97c-c4gg","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2022-09-28 20:15:00","lastModifiedDate":"2022-12-08 03:13:00","problem_types":["CWE-287"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:matrix:javascript_sdk:*:*:*:*:*:node.js:*:*","versionEndExcluding":"19.7.0","cpe_name":[]}]}]}},"legacy_mitre":{"record":null,"notes":[]}}}