CVE intelligence and bounded remediation
CVE-2022-39249 — Matrix Javascript SDK is the Matrix Client-Server SDK for JavaScript
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.
- Severity
- High
- CVSS
- 7.5 (3.1)
- Published
- 2022-09-28
- CISA KEV
- Not currently listed
- Ecosystem
- javascript/npm
- Weaknesses
- CWE-287, CWE-322
Affected products
- matrix / javascript_sdk
Matched remediation archetype
Authentication bypass and missing authentication
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Map every affected endpoint and protocol path, including alternate ports, legacy routes, recovery flows, service accounts, and machine-to-machine access.
- Confirm which deployments enable the affected authentication mode and whether the interface is reachable from untrusted networks.
- Review session, token, credential, and proxy trust configuration without attempting account takeover.
Remediate safely
- Apply the supported fix and centralize fail-closed authentication before protected request handling.
- Remove default or embedded credentials, rotate affected secrets and sessions, and bind authentication decisions to the intended audience and channel.
- Add negative tests for alternate routes, malformed or absent credentials, recovery flows, and proxy-derived identity.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.