Vulnerability advisory
CVE-2024-42369
A room with itself as a its predecessor will freeze matrix-js-sdk
Also known as GHSA-vhr5-g3pm-49fm
Severity
- CVSS 3.x
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L
Affected versions
Repository
| Affected commits | Fixed by commit |
|---|---|
| GIT github.com/matrix-org/matrix-js-sdk ↗ | |
| All commits before 340bbe1a8fae05a514ac133e6e9b549326854957 | 340bbe1a8fae05a514ac133e6e9b549326854957 |
| Not specified | a0efed8b881b3db6c9f2c71d6a6e74c2828978c6 |
Also listed as affected (66)
| |
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.
References
- Advisorygithub.com/CVEProject/cvelistV5/tree/main/cves/2024/42xxx/CVE-2024-42369.json ↗
- Advisorygithub.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-vhr5-g3pm-49fm ↗
- Advisorynvd.nist.gov/vuln/detail/CVE-2024-42369 ↗
- Fixgithub.com/matrix-org/matrix-js-sdk/commit/a0efed8b881b3db6c9f2c71d6a6e74c2828978c6 ↗