Vulnerability · Published Sep 16, 2025 · Assigned by GitHub_M
CVE-2025-59160matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
Low 2.7
In plain English
A low-severity insufficient verification of data authenticity in matrix-js-sdk from matrix-org. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 16% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu:22.04:LTS | node-matrix-js-sdk | no fix listed | UBUNTU-CVE-2025-59160 |
| Ubuntu:24.04:LTS | node-matrix-js-sdk | no fix listed | UBUNTU-CVE-2025-59160 |
| npm | matrix-js-sdk | 38.2.0 | GHSA-mp7c-m3rh-r56v |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| matrix-org | matrix-js-sdk | < 38.2.0 |
Weakness: CWE-345 · Vector: CVSS: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