Matrix SDK Base Denial-of-Service Vulnerability Due to Custom Join Rules Serialization Issue
Vulnerability
A denial-of-service vulnerability has been identified in the Matrix SDK Base component, affecting versions prior to 0.16.0. The issue arises from the SDK's inability to properly handle synchronization responses that include custom 'm.room.join_rules' values, due to a serialization bug. This vulnerability can be exploited when a user is invited to a room with non-standard join rules, causing the synchronization process to stall. As a result, further processing is halted for all rooms, creating a disruptive backlog.
Impact
Exploitation of this vulnerability causes the synchronization process to stall, disrupting the handling of all rooms and creating a backlog that must be manually cleared.
Reproduction
The vulnerability can be reproduced by inviting a user to a room with custom join rules that deviate from the standard options. Once the invitation is accepted, the synchronization process will stall, demonstrating the denial-of-service condition.
Remediation
Users can update to Matrix SDK Base version 0.16.0 or later, where this issue has been fixed. Instructions for updating can be found in the Matrix SDK Rust repository.
Vulnerability Rating
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.
