Every CVE Search/ Get API key

CVE-2024-42369

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

4.1 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.48%Up 0.4 points since Aug 21, 2024
90%50%10%1%

What each source reports

CVE List Score used 4.1

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

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.

Record
CVE-2024-42369
CVSS 3.1
4.1 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
Weakness
CWE-674
Updated
2026-11-02
EUVDEUVD-2024-2665 4.1

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.

Record
EUVD-2024-2665
CVSS 3.1
4.1 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
Updated
2026-11-03
GitHub AdvisoriesGHSA-vhr5-g3pm-49fm 5.1

matrix-js-sdk will freeze when a user sets a room with itself as a its predecessor

Impact

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.

Even if the CVSS score would be 4.1 (AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L) we classify this as High severity issue.

Patches

This was patched in matrix-js-sdk 34.3.1.

Workarounds

Sanity check rooms before passing them to the matrix-js-sdk or avoid calling either getRoomUpgradeHistory or leaveRoomChain.

References

N/A.

Record
GHSA-vhr5-g3pm-49fm
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
CVSS 3.1
4.1 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
Weakness
CWE-674
Updated
2026-11-02
NVD 4.1

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.

Record
CVE-2024-42369
CVSS 3.1
4.1 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-674
Updated
2026-11-02
OSV 4.1

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

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.

Record
CVE-2024-42369
CVSS 3.1
4.1 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
Weakness
CWE-674
Updated
2026-11-02
OSVDEBIAN-CVE-2024-42369 5.3

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.

Record
DEBIAN-CVE-2024-42369
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
Show 4 moreShow less
OSVGHSA-vhr5-g3pm-49fm 5.1

matrix-js-sdk will freeze when a user sets a room with itself as a its predecessor

Impact

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.

Even if the CVSS score would be 4.1 (AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L) we classify this as High severity issue.

Patches

This was patched in matrix-js-sdk 34.3.1.

Workarounds

Sanity check rooms before passing them to the matrix-js-sdk or avoid calling either getRoomUpgradeHistory or leaveRoomChain.

References

N/A.

Record
GHSA-vhr5-g3pm-49fm
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
CVSS 3.1
4.1 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
Weakness
CWE-674
Updated
2026-11-02
OSVUBUNTU-CVE-2024-42369 4.1

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.

Record
UBUNTU-CVE-2024-42369
CVSS 3.1
4.1 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVopenSUSE-SU-2024:14288-1 No score

element-desktop-1.11.75-1.1 on GA media

These are all security issues fixed in the element-desktop-1.11.75-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14288-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14289-1 No score

element-web-1.11.75-1.1 on GA media

These are all security issues fixed in the element-web-1.11.75-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14289-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
matrix-js-sdk
npm
before 34.3.1
34.3.1
node-matrix-js-sdk
Debian:11
All versions, plus listed versions
9.11.0+~cs9.9.16-19.11.0+~cs9.9.16-29.3.0+~cs9.9.16-29.7.0~~rc1+~cs9.9.16-19.7.0~~rc1+~cs9.9.16-2
None known
node-matrix-js-sdk
Ubuntu:20.04:LTS
All versions, plus listed versions
0.9.2-1
None known
node-matrix-js-sdk
Ubuntu:22.04:LTS
All versions, plus listed versions
9.3.0+~cs9.9.16-29.11.0+~cs9.9.16-1
None known
node-matrix-js-sdk
Ubuntu:24.04:LTS
All versions, plus listed versions
9.11.0+~cs9.9.16-2
None known
element-desktop
openSUSE:Tumbleweed
before 1.11.75-1.1
1.11.75-1.1
element-web
openSUSE:Tumbleweed
before 1.11.75-1.1
1.11.75-1.1

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-42369 is a medium vulnerability (CVSS 4.1) in Matrix-org Matrix-js-sdk, published August 20, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.48%, the 41st percentile. Fixed in matrix-js-sdk 34.3.1.

References

Show 4 moreShow less
MoveEnter Open