GHSA-26c5-ppr8-f33p
Synapse has improper checks for deactivated users during login
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| PyPI | matrix-synapse | < 1.85.0 | 1.85.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
### 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](https://matrix-org.github.io/synapse/latest/jwt.html) via the `jwt_config.enabled` configuration setting
* The [local password database is enabled](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#password_config) via the `password_config.enabled` and `password_config.localdb_enabled` configuration settings *and* a user's password is [updated via an admin API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html#create-or-modify-account) 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:
```sql
SELECT name FROM users WHERE password_hash IS NOT NULL AND deactivated = 1;
```
References
External links from the advisory. They lead to third-party sites.
- https://github.com/matrix-org/synapse/security/advisories/GHSA-26c5-ppr8-f33p
- https://nvd.nist.gov/vuln/detail/CVE-2023-32682
- 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
- https://github.com/matrix-org/synapse/releases/tag/v1.85.0
- 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://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