GHSA-mp7c-m3rh-r56v
matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | matrix-js-sdk | < 38.2.0 | 38.2.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
matrix-js-sdk before 38.2.0 has insufficient validation of room predecessor links in `MatrixClient::getJoinedRooms`, allowing a remote attacker to attempt to replace a tombstoned room with an unrelated attacker-supplied room.
### Patches
The issue has been patched and users should upgrade to 38.2.0.
### Workarounds
Avoid using `MatrixClient::getJoinedRooms` in favour of `getRooms()` and filtering upgraded rooms separately.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-mp7c-m3rh-r56v
- https://nvd.nist.gov/vuln/detail/CVE-2025-59160
- https://github.com/matrix-org/matrix-js-sdk/commit/43c72d5bf5e2d0a26b3b4f71092e7cb39d4137c4
- https://github.com/matrix-org/matrix-js-sdk
- https://github.com/matrix-org/matrix-js-sdk/releases/tag/v38.2.0
- https://www.npmjs.com/package/matrix-js-sdk/v/38.2.0