matrix-org/synapse · Security
Synapse has improper checks for deactivated users during login
- GHSA ID
- GHSA-26c5-ppr8-f33p
- CVE ID
- CVE-2023-32682
- Severity
- medium
- Published
- Updated
- CVSS
- 5.4 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
- CVSS v3
- 5.4 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
- CVSS v4
- 5.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Description
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:
- JSON Web Tokens are enabled for login via the
jwt_config.enabledconfiguration setting - The local password database is enabled via the
password_config.enabledandpassword_config.localdb_enabledconfiguration 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
- If using JSON Web Token logins: #15624
- For other users: #15634
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:
SELECT name FROM users WHERE password_hash IS NOT NULL AND deactivated = 1;
CWEs
- CWE-287 · Improper Authentication
References
- https://github.com/matrix-org/synapse/security/advisories/GHSA-26c5-ppr8-f33p ↗
- https://github.com/matrix-org/synapse/issues/12274 ↗
- https://github.com/matrix-org/synapse/pull/15624 ↗
- https://github.com/matrix-org/synapse/pull/15634 ↗
- https://github.com/matrix-org/synapse/releases/tag/v1.85.0 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2023-32682 ↗
- https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html#create-or-modify-account ↗
- https://matrix-org.github.io/synapse/latest/jwt.html ↗
- https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#password_config ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2023-84.yaml ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/X6DH5A5YEB5LRIPP32OUW25FCGZFCZU2 ↗
- https://github.com/advisories/GHSA-26c5-ppr8-f33p ↗