CVE-2024-42369

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

Published Aug 20, 2024 CVSS 3.1 · 4.1 Medium EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2024-2665 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.
Github GHSA Github GHSA GHSA-vhr5-g3pm-49fm matrix-js-sdk will freeze when a user sets a room with itself as a its predecessor
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Matrix
Matrix javascript Sdk
CPEs cpe:2.3:a:matrix:javascript_sdk:*:*:*:*:*:*:*:*
Vendors & Products Matrix
Matrix javascript Sdk
Type Values Removed Values Added
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.
Title A room with itself as a its predecessor will freeze matrix-js-sdk
Weaknesses CWE-674
References
Metrics cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 3, 2024, 5:06 PM
Reserved
Jul 30, 2024, 2:01 PM
Status
Analyzed
Published
Aug 20, 2024, 3:15 PM
Modified
Jun 17, 2026, 7:49 AM