Medium severity · published Aug 20, 2024
CVE-2024-42369
A room with itself as a its predecessor will freeze matrix-js-sdk
5.3
CVSS
0.5%
EPSS
No
On KEV
Description
matrix-js-sdk is a Matrix messaging protocol Client-Server SDK for JavaScript. A malicious homeserver can craft a room or room structure such that the predecessors form a cycle. The matrix-js-sdk's getRoomUpgradeHistory function will infinitely recurse in this case, causing the code to hang. This method is public but also called by the 'leaveRoomChain()' method, so leaving a room will also trigger the bug. This was patched in matrix-js-sdk 34.3.1.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
Low
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.5% · higher than 41% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
MA
matrix-js-sdk · matrix-org
< 34.3.1 · source: vendor
JS
Javascript Sdk · Matrix
before 34.3.1 · source: NVD
Affected product
MA
matrix-js-sdk
matrix-org
More from matrix-js-sdk
8.7
CVE-2024-47080
matrix-js-sdk keys sent via `sendSharedHistoryKeys` vulnerable to interception by malicious homeserver
7.5
CVE-2022-39250
Matrix JavaScript SDK vulnerable to key/device identifier confusion in SAS verification
5.3
CVE-2024-50336
matrix-js-sdk has insufficient MXC URI validation which allows client-side path traversal
2.7
CVE-2025-59160
matrix-js-sdk has insufficient validation when considering a room to be upgraded by another