matrix-js-sdk has insufficient validation when considering a room to be upgraded by another
        
  Moderate severity
        
          GitHub Reviewed
      
        Published
          Sep 16, 2025 
          in
          
            matrix-org/matrix-js-sdk
          
          •
          Updated Sep 22, 2025 
      
  
Description
        Published by the National Vulnerability Database
      Sep 16, 2025 
    
  
        Published to the GitHub Advisory Database
      Sep 16, 2025 
    
  
        Reviewed
      Sep 16, 2025 
    
  
        Last updated
      Sep 22, 2025 
    
  
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::getJoinedRoomsin favour ofgetRooms()and filtering upgraded rooms separately.References