Matrix iOS SDK allows developers to build iOS apps compatible with Matrix. Prior to version 0.23.19, 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-ios-sdk implementing a too permissive key forwarding strategy. The default policy for accepting key forwards has been made more strict in the matrix-ios-sdk version 0.23.19. matrix-ios-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 home server and an attacker, so those who trust their home servers do not need a workaround.
{
"cwe_ids": [
"CWE-287",
"CWE-322"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39257.json"
}{
"source": [
"CPE_RANGE",
"REFERENCES"
],
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "0.23.19"
}
],
"cpe": "cpe:2.3:a:matrix:software_development_kit:*:*:*:*:*:iphone_os:*:*"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-39257.json"
"2026-07-22T02:08:02Z"
[
{
"digest": {
"line_hashes": [
"72316361310660215691931429924248656841",
"189705816796646848369622463688827033150",
"2759542088427777407975446035108501989",
"288326346438592934844332775474134550390"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2022-39257-07dcc288",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/matrix-org/matrix-ios-sdk/commit/5ca86c328a5faaab429c240551cb9ca8f0f6262c",
"target": {
"file": "MatrixSDK/MatrixSDK.h"
}
},
{
"digest": {
"line_hashes": [
"67533782217048731478845813822640661200",
"179363983628606553136196328013506286956",
"85506329710230119266986245676459050459",
"269738058025597410218216131962536513506"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2022-39257-6b1b9555",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/matrix-org/matrix-ios-sdk/commit/5ca86c328a5faaab429c240551cb9ca8f0f6262c",
"target": {
"file": "MatrixSDK/Crypto/KeyBackup/Data/MXKeyBackupVersionTrust.h"
}
},
{
"digest": {
"line_hashes": [
"66351378363967913525731711829179713061",
"278095958396896172607945763059320629255",
"28855884788969288805322590027579852764",
"170155866619890102279608280462406778425",
"239071177152843437385360301179989644514"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2022-39257-9ce392d5",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/matrix-org/matrix-ios-sdk/commit/5ca86c328a5faaab429c240551cb9ca8f0f6262c",
"target": {
"file": "MatrixSDK/Crypto/MXCrypto_Private.h"
}
},
{
"digest": {
"line_hashes": [
"272668942739153391175570236843389917764",
"219901029857565321632056379059209492978",
"302059645746209613230955050501983567248",
"1672072197779040601041217422215633176",
"335840380194476245255822729622053932410",
"52316583242005744414175263803774447983",
"175349735087660708318188361192521530113",
"156142438452545808743477145715136721228"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2022-39257-a38faaa9",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/matrix-org/matrix-ios-sdk/commit/5ca86c328a5faaab429c240551cb9ca8f0f6262c",
"target": {
"file": "MatrixSDK/Crypto/Algorithms/MXDecrypting.h"
}
},
{
"digest": {
"line_hashes": [
"95370822025649101032070280231532536163",
"218538451127144728946738354929452478915",
"8240106280630917728025718766878528805",
"120226752188299944594824832498015762984"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2022-39257-a972c3de",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/matrix-org/matrix-ios-sdk/commit/5ca86c328a5faaab429c240551cb9ca8f0f6262c",
"target": {
"file": "MatrixSDK/Crypto/MXOlmDevice.h"
}
}
]