{"api_version":"1","generated_at":"2026-04-23T04:10:57+00:00","cve":"CVE-2022-39251","urls":{"html":"https://cve.report/CVE-2022-39251","api":"https://cve.report/api/cve/CVE-2022-39251.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2022-39251","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2022-39251"},"summary":{"title":"CVE-2022-39251","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 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.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2022-09-28 20:15:00","updated_at":"2022-12-03 01:34:00"},"problem_types":["CWE-287"],"metrics":[],"references":[{"url":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-r48r-j8fx-mq2c","name":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-r48r-j8fx-mq2c","refsource":"CONFIRM","tags":[],"title":"Olm/Megolm protocol confusion · Advisory · matrix-org/matrix-js-sdk · 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/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-39251","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-39251","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2022","cve_id":"39251","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-39251","qid":"160177","title":"Oracle Enterprise Linux Security Update for thunderbird (ELSA-2022-7184)"},{"cve":"CVE-2022-39251","qid":"160181","title":"Oracle Enterprise Linux Security Update for thunderbird (ELSA-2022-7178)"},{"cve":"CVE-2022-39251","qid":"160184","title":"Oracle Enterprise Linux Security Update for thunderbird (ELSA-2022-7190)"},{"cve":"CVE-2022-39251","qid":"199024","title":"Ubuntu Security Notification for Thunderbird Vulnerabilities (USN-5724-1)"},{"cve":"CVE-2022-39251","qid":"240784","title":"Red Hat Update for thunderbird (RHSA-2022:7184)"},{"cve":"CVE-2022-39251","qid":"240786","title":"Red Hat Update for thunderbird (RHSA-2022:7190)"},{"cve":"CVE-2022-39251","qid":"240787","title":"Red Hat Update for thunderbird (RHSA-2022:7178)"},{"cve":"CVE-2022-39251","qid":"240791","title":"Red Hat Update for thunderbird (RHSA-2022:7182)"},{"cve":"CVE-2022-39251","qid":"240792","title":"Red Hat Update for thunderbird (RHSA-2022:7181)"},{"cve":"CVE-2022-39251","qid":"354131","title":"Amazon Linux Security Advisory for thunderbird : ALAS2-2022-1900"},{"cve":"CVE-2022-39251","qid":"377612","title":"Mozilla Thunderbird Multiple Vulnerabilities (MFSA2022-43)"},{"cve":"CVE-2022-39251","qid":"502515","title":"Alpine Linux Security Update for riot-web"},{"cve":"CVE-2022-39251","qid":"503177","title":"Alpine Linux Security Update for element-web"},{"cve":"CVE-2022-39251","qid":"506037","title":"Alpine Linux Security Update for element-web"},{"cve":"CVE-2022-39251","qid":"690947","title":"Free Berkeley Software Distribution (FreeBSD) Security Update for matrix clients (cb902a77-3f43-11ed-9402-901b0e9408dc)"},{"cve":"CVE-2022-39251","qid":"710676","title":"Gentoo Linux Mozilla Thunderbird Multiple Vulnerabilities (GLSA 202210-35)"},{"cve":"CVE-2022-39251","qid":"753237","title":"SUSE Enterprise Linux Security Update for MozillaThunderbird (SUSE-SU-2022:3800-1)"},{"cve":"CVE-2022-39251","qid":"940708","title":"AlmaLinux Security Update for thunderbird (ALSA-2022:7190)"},{"cve":"CVE-2022-39251","qid":"940711","title":"AlmaLinux Security Update for thunderbird (ALSA-2022:7178)"},{"cve":"CVE-2022-39251","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-39251","STATE":"PUBLIC","TITLE":"Matrix Javascript SDK vulnerable to Olm/Megolm protocol confusion"},"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 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."}]},"impact":{"cvss":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":8.6,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/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://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"},{"name":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-r48r-j8fx-mq2c","refsource":"CONFIRM","url":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-r48r-j8fx-mq2c"},{"refsource":"GENTOO","name":"GLSA-202210-35","url":"https://security.gentoo.org/glsa/202210-35"}]},"source":{"advisory":"GHSA-r48r-j8fx-mq2c","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2022-09-28 20:15:00","lastModifiedDate":"2022-12-03 01:34: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":[]}}}