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-sdks 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.
The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Javascript_sdk | Matrix | * | 34.3.1 (excluding) |