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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| matrix-org | matrix-js-sdk | < 34.3.1 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 11 | node-matrix-js-sdk | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | node-matrix-js-sdk | No fix yet | — |
| Ubuntu 22.04 LTS | node-matrix-js-sdk | No fix yet | — |
| Ubuntu 20.04 LTS | node-matrix-js-sdk | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | element-web +1 | 1.11.75-1.1 | openSUSE-SU-2024:14289-1, openSUSE-SU-2024:14288-1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | matrix-js-sdk | < 34.3.1 | 34.3.1 | GHSA-vhr5-g3pm-49fm |
Advisories 2
- openSUSE-SU-2024:14289-1 element-web-1.11.75-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:14288-1 element-desktop-1.11.75-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026