CVE-2025-59160
published 2025-09-16CVE-2025-59160: Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScript. matrix-js-sdk before 38.2.0 has insufficient validation of room predecessor…
PriorityP414low2.7CVSS 4.0
AVNACLATNPRNUINVCNVILVANSCNSINSANEUCRXIRXARXMAVXMACXMATXMPRXMUIXMVCXMVIXMVAXMSCXMSIXMSAXSXAUXRXVXREXUX
EPSS
0.23%
13.4th percentile
Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScript. 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. The issue has been patched and users should upgrade to 38.2.0. A workaround is to avoid using MatrixClient::getJoinedRooms in favor of getRooms() and filtering upgraded rooms separately.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | node-matrix-js-sdk | — | — |
| matrix-org | matrix-js-sdk | < 38.2.0 | 38.2.0 |
| matrix-org | matrix-js-sdk | >= 0 < 38.2.0 | 38.2.0 |
CVSS provenance
nvdv4.02.7LOWCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
osv2.7LOW
vendor_debian2.7LOW
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Debian
CVE-2025-59160: node-matrix-js-sdk - Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScrip...
vendor_debian·2025·CVSS 2.7
CVE-2025-59160 [LOW] CVE-2025-59160: node-matrix-js-sdk - Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScrip...
Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScript. 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. The issue has been patched and users should upgrade to 38.2.0. A workaround is to avoid using MatrixClient::getJoinedRooms in favor of getRooms() and filtering upgraded rooms separately.
Scope: local
bullseye: open
OSV
matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
osv·2025-09-16
CVE-2025-59160 [MEDIUM] matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
### 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.
OSV
CVE-2025-59160: Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScript
osv·2025-09-16·CVSS 2.7
CVE-2025-59160 [LOW] CVE-2025-59160: Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScript
Matrix JavaScript SDK is a Matrix Client-Server SDK for JavaScript and TypeScript. 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. The issue has been patched and users should upgrade to 38.2.0. A workaround is to avoid using MatrixClient::getJoinedRooms in favor of getRooms() and filtering upgraded rooms separately.
GHSA
matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
ghsa·2025-09-16
CVE-2025-59160 [MEDIUM] CWE-20 matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
### 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.
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2025-09-16
Published