Synapse has improper checks for deactivated users during login
Moderate severity
GitHub Reviewed
Published
Jun 6, 2023
in
matrix-org/synapse
•
Updated Sep 24, 2024
Description
Published to the GitHub Advisory Database
Jun 6, 2023
Reviewed
Jun 6, 2023
Published by the National Vulnerability Database
Jun 6, 2023
Last updated
Sep 24, 2024
Impact
It may be possible for a deactivated user to login when using uncommon configurations.
This only applies if any of the following are true:
jwt_config.enabled
configuration settingpassword_config.enabled
andpassword_config.localdb_enabled
configuration settings and a user's password is updated via an admin API after a user is deactivated.Note that the local password database is enabled by default, but it is uncommon to set a user's password after they've been deactivated.
Installations that are configured to only allow login via Single Sign-On (SSO) via CAS, SAML or OpenID Connect (OIDC); or via an external password provider (e.g. LDAP) are not affected.
Patches
Workarounds
If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This list of users can be queried from PostgreSQL:
References