Miggo Logo

CVE-2022-39246: matrix-android-sdk2 vulnerable to impersonation via forwarded Megolm sessions

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.34706%
Published
9/30/2022
Updated
1/29/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.matrix.android:matrix-android-sdk2maven<= 1.4.361.5.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from improper validation of forwarded Megolm keys. The key functions MXMegolmDecryption.onRoomKeyEvent and MXOlmDevice.addInboundGroupSession lacked critical checks for: 1) Whether keys were requested 2) Device verification status 3) Trust chain validation. The patch added 'trusted' flags, request validation through UnRequestedForwardManager, and strict checks against the crypto config's limitRoomKeyRequestsToMyDevices setting. These functions were directly involved in the permissive key acceptance logic that allowed malicious homeservers to inject spoofed messages.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t *n *tt**k*r *oop*r*tin* wit* * m*li*ious *om*s*rv*r **n *onstru*t m*ss***s *pp**rin* to **v* *om* *rom *not**r p*rson. Su** m*ss***s will ** m*rk** wit* * *r*y s*i*l* on som* pl*t*orms, *ut t*is m*y ** missin* in ot**rs. T*is *tt**k is po

Reasoning

T** vuln*r**ility st*mm** *rom improp*r `v*li**tion` o* *orw*r*** M**olm k*ys. T** k*y *un*tions `MXM**olm***ryption.onRoomK*y*v*nt` *n* `MXOlm**vi**.***In*oun**roupS*ssion` l**k** *riti**l ****ks *or: *) W**t**r k*ys w*r* r*qu*st** *) **vi** v*ri*i*