CVE-2021-39164: Improper authorisation of /members discloses room membership to non-members
Impact Unauthorised users can access the membership (list of members, with their display names) of a room if they know the ID of the room. The vulnerability is limited to rooms with shared history visibility. Furthermore, the unauthorised user must be using an account on a vulnerable homeserver that is in the room.
Patches Server administrators should upgrade to 1.41.1 or later.
Workarounds Administrators of servers that use a reverse proxy could, with potentially unacceptable loss of functionality, block the following endpoints: /matrix/client/r0/rooms/{roomid}/members with at query parameter /matrix/client/unstable/rooms/{roomid}/members with at query parameter
References n/a
For more information If you have any questions or comments about this advisory, e-mail us at security@matrix.org.
Other sources
Matrix is an ecosystem for open federated Instant Messaging and Voice over IP. In versions 1.41.0 and prior, unauthorised users can access the membership (list of members, with their display names) of a room if they know the ID of the room. The vulnerability is limited to rooms with shared history visibility. Furthermore, the unauthorised user must be using an account on a vulnerable homeserver that is in the room. Server administrators should upgrade to 1.41.1 or later in order to receive the patch. One workaround is available. Administrators of servers that use a reverse proxy could, with potentially unacceptable loss of functionality, block the endpoints: /matrix/client/r0/rooms/{roomid}/members with at query parameter, and /matrix/client/unstable/rooms/{roomid}/members with at query parameter.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/matrix-synapseto a version that resolves this vulnerability.Fixed in 1.41.1 - Upgrade
Upgrade
matrixto a version that resolves this vulnerability.Fixed in 1.41.1 - Compensating control
If using a reverse proxy, block the following endpoints to mitigate the disclosure of room membership by non-members: /_matrix/client/r0/rooms/{room_id}/members with the `at` query parameter, and /_matrix/client/unstable/rooms/{room_id}/members with the `at` query parameter (note: this may cause potentially unacceptable loss of functionality).
Event History
Frequently Asked Questions
What is CVE-2021-39164?
CVE-2021-39164 is a vulnerability in Matrix Synapse versions 1.41.0 and prior that allows unauthorized users to access the membership (list of members) of a room if they know the room ID and the room has shared history enabled.
What is the severity of CVE-2021-39164?
The severity of CVE-2021-39164 is low, with a CVSS severity score of 3.1.
How can unauthorized users access the membership of a vulnerable room in Matrix Synapse?
Unauthorized users can access the membership of a vulnerable room in Matrix Synapse if they know the room ID and the room has shared history enabled.
Which versions of Matrix Synapse are affected by CVE-2021-39164?
Matrix Synapse versions 1.41.0 and prior are affected by CVE-2021-39164.
How can I fix CVE-2021-39164 in Matrix Synapse?
To fix CVE-2021-39164, upgrade to version 1.41.1 or later of Matrix Synapse.