CVE-2022-39249
Published: 28 September 2022
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.
Priority
Status
Package | Release | Status |
---|---|---|
node-matrix-js-sdk
Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
focal |
Needs triage
|
|
jammy |
Needs triage
|
|
kinetic |
Ignored
(end of life, was needs-triage)
|
|
lunar |
Ignored
(end of life, was needs-triage)
|
|
mantic |
Ignored
(end of life, was needs-triage)
|
|
noble |
Needs triage
|
|
trusty |
Ignored
(end of standard support)
|
|
upstream |
Needs triage
|
|
xenial |
Ignored
(end of standard support)
|
|
thunderbird
Launchpad, Ubuntu, Debian |
bionic |
Released
(1:102.4.2+build2-0ubuntu0.18.04.1)
|
focal |
Released
(1:102.4.2+build2-0ubuntu0.20.04.1)
|
|
jammy |
Released
(1:102.4.2+build2-0ubuntu0.22.04.1)
|
|
kinetic |
Released
(1:102.4.2+build2-0ubuntu0.22.10.1)
|
|
lunar |
Not vulnerable
(1:102.6.0+build1-0ubuntu1)
|
|
mantic |
Not vulnerable
(1:102.6.0+build1-0ubuntu1)
|
|
noble |
Not vulnerable
(1:102.6.0+build1-0ubuntu1)
|
|
trusty |
Does not exist
|
|
upstream |
Needs triage
|
|
xenial |
Ignored
(end of standard support)
|
Severity score breakdown
Parameter | Value |
---|---|
Base score | 7.5 |
Attack vector | Network |
Attack complexity | Low |
Privileges required | None |
User interaction | None |
Scope | Unchanged |
Confidentiality | None |
Integrity impact | High |
Availability impact | None |
Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
References
- https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-6263-x97c-c4gg
- https://github.com/matrix-org/matrix-js-sdk/commit/a587d7c36026fe1fcf93dfff63588abee359be76
- https://github.com/matrix-org/matrix-spec-proposals/pull/3061
- https://matrix.org/blog/2022/09/28/upgrade-now-to-address-encryption-vulns-in-matrix-sdks-and-clients
- https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0
- https://ubuntu.com/security/notices/USN-5724-1
- https://www.cve.org/CVERecord?id=CVE-2022-39249
- NVD
- Launchpad
- Debian