CVE-2025-59160: matrix-js-sdk · Insufficient Verification of Data Authenticity
Affects matrix-js-sdkSource CVE Database V5
Not known to be exploited · CVSS 2.7 Low : upgrade to 38.2.0 when convenient.
Data as of 26 Oct 2026, 06:26 UTC
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 15% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 38.2.0
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:UExploitation evidence
Disclosed: evidence found.
CVE published 16 Sep 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2026-10-26.
What to do
Upgrade matrix-js-sdk to 38.2.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| matrix-org matrix-js-sdk | Affected
| Fixed in
|
AI-suggested
The primary mitigation is to upgrade the matrix-js-sdk to version 38.2.0 or later, where the vulnerability has been patched. Until an upgrade is feasible, developers should avoid using the MatrixClient::getJoinedRooms method and instead use getRooms() with manual filtering of upgraded rooms to prevent exploitation. Additionally, organizations should audit their use of the matrix-js-sdk in their applications to identify any reliance on the vulnerable function. Implementing monitoring for unusual room replacement or creation activities could help detect exploitation attempts. Incorporating integrity checks or additional verification layers on room data at the application level may further reduce risk. Regularly updating dependencies and SDKs, combined with secure coding practices around room management, will help prevent similar issues.
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.