Skip to content
OpenAdvisories
Medium · 4.1 CVE-2024-42369 EUVD-2024-2665GHSA-vhr5-g3pm-49fm

A room with itself as a its predecessor will freeze matrix-js-sdk

Published Aug 20, 2024 · Updated Sep 3, 2024 · Assigned by GitHub_M

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

VendorProductAffectedFixed
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.

ReleasePackageFixed inAdvisory
Debian 11 node-matrix-js-sdk No fix yet —
ReleasePackageFixed inAdvisory
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 —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed element-web +1 1.11.75-1.1 openSUSE-SU-2024:14289-1, openSUSE-SU-2024:14288-1

Affected packages

EcosystemPackageAffectedFixedRecord
npm matrix-js-sdk < 34.3.1 34.3.1 GHSA-vhr5-g3pm-49fm

Advisories 2

References