{"id":"CVE-2023-32682","aliases":["ALPINE-CVE-2023-32682","DEBIAN-CVE-2023-32682","EUVD-2023-0140","GHSA-26c5-ppr8-f33p","PYSEC-2023-84","UBUNTU-CVE-2023-32682","openSUSE-SU-2024:13039-1"],"status":"published","title":"Improper checks for deactivated users during login in synapse","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","severity":{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00752,"percentile":0.5532,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-287"],"published":"2023-06-06T16:40:42Z","modified":"2026-11-03T06:32:42Z","fixes":[{"ecosystem":"PyPI","package":"matrix-synapse","fixed_in":["1.85.0"],"sources":["ghsa","osv"]},{"ecosystem":"Alpine:v3.18","package":"synapse","fixed_in":["1.85.1-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.19","package":"synapse","fixed_in":["1.85.1-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.20","package":"synapse","fixed_in":["1.85.1-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.21","package":"synapse","fixed_in":["1.85.1-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.22","package":"synapse","fixed_in":["1.85.1-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.23","package":"synapse","fixed_in":["1.85.1-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"synapse","fixed_in":["1.85.1-r0"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.18","package":"synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.1-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.19","package":"synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.1-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.20","package":"synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.1-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.21","package":"synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.1-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.22","package":"synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.1-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.1-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.1-r0"}]}]},{"source":"osv","ecosystem":"PyPI","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.0"}]}],"versions":["0.33.5","0.33.5.1","0.33.6","0.33.6rc1","0.33.7","0.33.7rc1","0.33.7rc2","0.33.8","0.33.8rc2","0.33.9","0.34.0","0.34.0.1","0.34.0rc1","0.34.0rc2","0.34.1.1","0.99.0","0.99.0rc1","0.99.0rc2","0.99.0rc3","0.99.0rc4","0.99.1","0.99.1.1","0.99.1rc1","0.99.1rc2","0.99.2","0.99.2rc1","0.99.3","0.99.3.1","0.99.3.2","0.99.3rc1","0.99.4","0.99.4rc1","0.99.5","0.99.5.1","0.99.5.2","0.99.5rc1","1.0.0","1.0.0rc1","1.0.0rc2","1.0.0rc3","1.1.0","1.1.0rc1","1.1.0rc2","1.10.0","1.10.0rc1","1.10.0rc2","1.10.0rc3","1.10.0rc5","1.10.1","1.11.0","1.11.0rc1","1.11.1","1.12.0","1.12.0rc1","1.12.1","1.12.1rc1","1.12.2","1.12.3","1.12.4","1.12.4rc1","1.13.0","1.13.0rc1","1.13.0rc2","1.13.0rc3","1.14.0","1.14.0rc1","1.14.0rc2","1.15.0","1.15.0rc1","1.15.1","1.15.2","1.16.0","1.16.0rc1","1.16.0rc2","1.16.1","1.17.0","1.17.0rc1","1.18.0","1.18.0rc1","1.18.0rc2","1.19.0","1.19.0rc1","1.19.1","1.19.1rc1","1.19.2","1.19.3","1.2.0","1.2.0rc1","1.2.0rc2","1.2.1","1.20.0","1.20.0rc1","1.20.0rc2","1.20.0rc3","1.20.0rc4","1.20.0rc5","1.20.1","1.21.0","1.21.0rc1","1.21.0rc2","1.21.0rc3","1.21.1","1.21.2","1.22.0","1.22.0rc1","1.22.0rc2","1.22.1","1.23.0","1.23.0rc1","1.23.1","1.24.0","1.24.0rc1","1.24.0rc2","1.25.0","1.25.0rc1","1.26.0","1.26.0rc1","1.26.0rc2","1.27.0","1.27.0rc1","1.27.0rc2","1.28.0","1.28.0rc1","1.29.0","1.29.0rc1","1.3.0","1.3.0rc1","1.3.1","1.30.0","1.30.0rc1","1.30.1","1.31.0","1.31.0rc1","1.32.0","1.32.0rc1","1.32.1","1.32.2","1.33.0","1.33.0rc1","1.33.0rc2","1.33.1","1.33.2","1.34.0","1.34.0rc1","1.35.0","1.35.0rc1","1.35.0rc2","1.35.0rc3","1.35.1","1.36.0","1.36.0rc1","1.36.0rc2","1.37.0","1.37.0rc1","1.37.1","1.37.1rc1","1.38.0","1.38.0rc1","1.38.0rc2","1.38.0rc3","1.38.1","1.39.0","1.39.0rc1","1.39.0rc2","1.39.0rc3","1.4.0","1.4.0rc1","1.4.0rc2","1.4.1","1.4.1rc1","1.40.0","1.40.0rc1","1.40.0rc2","1.40.0rc3","1.41.0","1.41.0rc1","1.41.1","1.42.0","1.42.0rc1","1.42.0rc2","1.43.0","1.43.0rc1","1.43.0rc2","1.44.0","1.44.0rc1","1.44.0rc2","1.44.0rc3","1.45.0","1.45.0rc1","1.45.0rc2","1.45.1","1.46.0","1.46.0rc1","1.47.0","1.47.0rc1","1.47.0rc2","1.47.0rc3","1.47.1","1.48.0","1.48.0rc1","1.49.0","1.49.0rc1","1.49.2","1.5.0","1.5.0rc1","1.5.0rc2","1.5.1","1.50.0","1.50.0rc1","1.50.0rc2","1.50.1","1.50.2","1.51.0","1.51.0rc1","1.51.0rc2","1.52.0","1.52.0rc1","1.53.0","1.53.0rc1","1.54.0","1.54.0rc1","1.55.0","1.55.0rc1","1.55.1","1.55.2","1.56.0","1.56.0rc1","1.57.0","1.57.0rc1","1.57.1","1.58.0","1.58.0rc2","1.58.1","1.59.0","1.59.0rc1","1.59.0rc2","1.59.1","1.6.0","1.6.0rc1","1.6.0rc2","1.6.1","1.60.0","1.60.0rc1","1.60.0rc2","1.61.0","1.61.0rc1","1.61.1","1.62.0","1.62.0rc1","1.62.0rc2","1.62.0rc3","1.63.0","1.63.0rc1","1.63.1","1.64.0","1.64.0rc1","1.64.0rc2","1.65.0","1.65.0rc1","1.65.0rc2","1.66.0","1.66.0rc1","1.66.0rc2","1.67.0","1.67.0rc1","1.68.0","1.68.0rc1","1.68.0rc2","1.69.0","1.69.0rc1","1.69.0rc2","1.69.0rc4","1.7.0","1.7.0rc1","1.7.0rc2","1.7.1","1.7.2","1.7.3","1.70.0","1.70.0rc1","1.70.0rc2","1.70.1","1.71.0","1.71.0rc1","1.71.0rc2","1.72.0","1.72.0rc1","1.73.0","1.73.0rc2","1.74.0","1.74.0rc1","1.75.0","1.75.0rc1","1.75.0rc2","1.76.0","1.76.0rc1","1.76.0rc2","1.77.0","1.77.0rc1","1.77.0rc2","1.78.0","1.78.0rc1","1.79.0","1.79.0rc1","1.79.0rc2","1.8.0","1.8.0rc1","1.80.0","1.80.0rc1","1.80.0rc2","1.81.0","1.81.0rc1","1.81.0rc2","1.82.0","1.82.0rc1","1.83.0","1.83.0rc1","1.84.0","1.84.0rc1","1.84.1","1.85.0rc1","1.85.0rc2","1.9.0","1.9.0.dev1","1.9.0.dev2","1.9.0rc1","1.9.1"]},{"source":"osv","ecosystem":"PyPI","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.0"}]}],"versions":["0.33.5","0.33.5.1","0.33.6","0.33.6rc1","0.33.7","0.33.7rc1","0.33.7rc2","0.33.8","0.33.8rc2","0.33.9","0.34.0","0.34.0.1","0.34.0rc1","0.34.0rc2","0.34.1.1","0.99.0","0.99.0rc1","0.99.0rc2","0.99.0rc3","0.99.0rc4","0.99.1","0.99.1.1","0.99.1rc1","0.99.1rc2","0.99.2","0.99.2rc1","0.99.3","0.99.3.1","0.99.3.2","0.99.3rc1","0.99.4","0.99.4rc1","0.99.5","0.99.5.1","0.99.5.2","0.99.5rc1","1.0.0","1.0.0rc1","1.0.0rc2","1.0.0rc3","1.1.0","1.1.0rc1","1.1.0rc2","1.10.0","1.10.0rc1","1.10.0rc2","1.10.0rc3","1.10.0rc5","1.10.1","1.11.0","1.11.0rc1","1.11.1","1.12.0","1.12.0rc1","1.12.1","1.12.1rc1","1.12.2","1.12.3","1.12.4","1.12.4rc1","1.13.0","1.13.0rc1","1.13.0rc2","1.13.0rc3","1.14.0","1.14.0rc1","1.14.0rc2","1.15.0","1.15.0rc1","1.15.1","1.15.2","1.16.0","1.16.0rc1","1.16.0rc2","1.16.1","1.17.0","1.17.0rc1","1.18.0","1.18.0rc1","1.18.0rc2","1.19.0","1.19.0rc1","1.19.1","1.19.1rc1","1.19.2","1.19.3","1.2.0","1.2.0rc1","1.2.0rc2","1.2.1","1.20.0","1.20.0rc1","1.20.0rc2","1.20.0rc3","1.20.0rc4","1.20.0rc5","1.20.1","1.21.0","1.21.0rc1","1.21.0rc2","1.21.0rc3","1.21.1","1.21.2","1.22.0","1.22.0rc1","1.22.0rc2","1.22.1","1.23.0","1.23.0rc1","1.23.1","1.24.0","1.24.0rc1","1.24.0rc2","1.25.0","1.25.0rc1","1.26.0","1.26.0rc1","1.26.0rc2","1.27.0","1.27.0rc1","1.27.0rc2","1.28.0","1.28.0rc1","1.29.0","1.29.0rc1","1.3.0","1.3.0rc1","1.3.1","1.30.0","1.30.0rc1","1.30.1","1.31.0","1.31.0rc1","1.32.0","1.32.0rc1","1.32.1","1.32.2","1.33.0","1.33.0rc1","1.33.0rc2","1.33.1","1.33.2","1.34.0","1.34.0rc1","1.35.0","1.35.0rc1","1.35.0rc2","1.35.0rc3","1.35.1","1.36.0","1.36.0rc1","1.36.0rc2","1.37.0","1.37.0rc1","1.37.1","1.37.1rc1","1.38.0","1.38.0rc1","1.38.0rc2","1.38.0rc3","1.38.1","1.39.0","1.39.0rc1","1.39.0rc2","1.39.0rc3","1.4.0","1.4.0rc1","1.4.0rc2","1.4.1","1.4.1rc1","1.40.0","1.40.0rc1","1.40.0rc2","1.40.0rc3","1.41.0","1.41.0rc1","1.41.1","1.42.0","1.42.0rc1","1.42.0rc2","1.43.0","1.43.0rc1","1.43.0rc2","1.44.0","1.44.0rc1","1.44.0rc2","1.44.0rc3","1.45.0","1.45.0rc1","1.45.0rc2","1.45.1","1.46.0","1.46.0rc1","1.47.0","1.47.0rc1","1.47.0rc2","1.47.0rc3","1.47.1","1.48.0","1.48.0rc1","1.49.0","1.49.0rc1","1.49.2","1.5.0","1.5.0rc1","1.5.0rc2","1.5.1","1.50.0","1.50.0rc1","1.50.0rc2","1.50.1","1.50.2","1.51.0","1.51.0rc1","1.51.0rc2","1.52.0","1.52.0rc1","1.53.0","1.53.0rc1","1.54.0","1.54.0rc1","1.55.0","1.55.0rc1","1.55.1","1.55.2","1.56.0","1.56.0rc1","1.57.0","1.57.0rc1","1.57.1","1.58.0","1.58.0rc2","1.58.1","1.59.0","1.59.0rc1","1.59.0rc2","1.59.1","1.6.0","1.6.0rc1","1.6.0rc2","1.6.1","1.60.0","1.60.0rc1","1.60.0rc2","1.61.0","1.61.0rc1","1.61.1","1.62.0","1.62.0rc1","1.62.0rc2","1.62.0rc3","1.63.0","1.63.0rc1","1.63.1","1.64.0","1.64.0rc1","1.64.0rc2","1.65.0","1.65.0rc1","1.65.0rc2","1.66.0","1.66.0rc1","1.66.0rc2","1.67.0","1.67.0rc1","1.68.0","1.68.0rc1","1.68.0rc2","1.69.0","1.69.0rc1","1.69.0rc2","1.69.0rc4","1.7.0","1.7.0rc1","1.7.0rc2","1.7.1","1.7.2","1.7.3","1.70.0","1.70.0rc1","1.70.0rc2","1.70.1","1.71.0","1.71.0rc1","1.71.0rc2","1.72.0","1.72.0rc1","1.73.0","1.73.0rc2","1.74.0","1.74.0rc1","1.75.0","1.75.0rc1","1.75.0rc2","1.76.0","1.76.0rc1","1.76.0rc2","1.77.0","1.77.0rc1","1.77.0rc2","1.78.0","1.78.0rc1","1.79.0","1.79.0rc1","1.79.0rc2","1.8.0","1.8.0rc1","1.80.0","1.80.0rc1","1.80.0rc2","1.81.0","1.81.0rc1","1.81.0rc2","1.82.0","1.82.0rc1","1.83.0","1.83.0rc1","1.84.0","1.84.0rc1","1.84.1","1.85.0rc1","1.85.0rc2","1.9.0","1.9.0.dev1","1.9.0.dev2","1.9.0rc1","1.9.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.19.2+dfsg-6","0.24.0+dfsg-1","0.24.0+dfsg-1ubuntu0.1~esm1","0.24.0+dfsg-1ubuntu0.1~esm4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-1","1.4.0-1","1.5.0-1","1.5.1-1","1.6.0-1","1.6.1-1","1.7.0-2","1.7.1-1","1.7.2-1","1.7.3-1","1.8.0-1","1.9.0-1","1.9.1-1","1.10.0-1","1.10.0-2","1.11.0-1","1.11.0-1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.39.0-1","1.47.0-2","1.47.1-1","1.48.0-1","1.49.0-1","1.49.2-1","1.50.1-1","1.50.2-1","1.51.0-1","1.52.0-1","1.53.0-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.85.2-1.1"}]}],"bundled":2}],"products":[{"vendor":"element-hq","product":"synapse"},{"vendor":"matrix","product":"synapse"},{"vendor":"matrix-org","product":"synapse"}],"references":[{"url":"https://github.com/matrix-org/synapse/security/advisories/GHSA-26c5-ppr8-f33p","tags":["x_refsource_CONFIRM","x_transferred","Mitigation","Patch","Vendor Advisory","advisory","web","fix","report"]},{"url":"https://github.com/matrix-org/synapse/pull/15624","tags":["x_refsource_MISC","x_transferred","Patch","fix","web","report"]},{"url":"https://github.com/matrix-org/synapse/pull/15634","tags":["x_refsource_MISC","x_transferred","Patch","fix","web","report"]},{"url":"https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html#create-or-modify-account","tags":["x_refsource_MISC","x_transferred","Product","web","report"]},{"url":"https://matrix-org.github.io/synapse/latest/jwt.html","tags":["x_refsource_MISC","x_transferred","Product","web","report"]},{"url":"https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#password_config","tags":["x_refsource_MISC","x_transferred","Product","web","report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/X6DH5A5YEB5LRIPP32OUW25FCGZFCZU2/","tags":["x_transferred","web"]},{"url":"https://github.com/matrix-org/synapse/issues/12274","tags":["web"]},{"url":"https://github.com/matrix-org/synapse/releases/tag/v1.85.0","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-32682","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2023-84.yaml","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/X6DH5A5YEB5LRIPP32OUW25FCGZFCZU2","tags":["web"]},{"url":"https://github.com/advisories/GHSA-26c5-ppr8-f33p"},{"url":"https://security.alpinelinux.org/vuln/CVE-2023-32682","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/32xxx/CVE-2023-32682.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2023-32682","tags":["advisory"]},{"url":"https://github.com/matrix-org/synapse","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2023-32682","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-32682","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2023-32682","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-32683","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2023-32682","title":"Improper checks for deactivated users during login in synapse","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"published","published":"2023-06-06T18:20:14.377Z","modified":"2025-02-13T16:54:57.207Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T14:35:29.381004Z"}],"euvd":[{"id":"EUVD-2023-0140","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"published","published":"2023-06-06T18:20:14Z","modified":"2025-02-13T16:54:57Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T00:03:50.427692Z"}],"ghsa":[{"id":"GHSA-26c5-ppr8-f33p","title":"Synapse has improper checks for deactivated users during login","description":"### Impact\nIt may be possible for a deactivated user to login when using uncommon configurations.\n\nThis only applies if any of the following are true:\n\n* [JSON Web Tokens are enabled for login](https://matrix-org.github.io/synapse/latest/jwt.html) via the `jwt_config.enabled` configuration setting\n* 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.\n\n**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.\n\nInstallations 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.\n\n### Patches\n\n* If using JSON Web Token logins: #15624\n* For other users: #15634\n\n### Workarounds\n\nIf not using JSON Web Tokens, ensure that deactivated users do not have a password set. This list of users can be queried from PostgreSQL:\n\n```sql\nSELECT name FROM users WHERE password_hash IS NOT NULL AND deactivated = 1;\n```\n\n","status":"published","published":"2023-06-06T16:40:42Z","modified":"2024-09-24T17:36:27Z","cvss":[{"version":"4.0","score":5.3,"vector":"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","level":"medium"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T14:38:05.526697Z"}],"nvd":[{"id":"CVE-2023-32682","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"published","published":"2023-06-06T19:15:11.743Z","modified":"2026-06-17T05:59:22.84Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T14:08:05.329837Z"}],"osv":[{"id":"ALPINE-CVE-2023-32682","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"published","published":"2023-06-06T19:15:11.743Z","modified":"2026-11-03T06:32:42.761914914Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T07:17:02.90744Z"},{"id":"CVE-2023-32682","title":"Improper checks for deactivated users during login in synapse","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"published","published":"2023-06-06T18:20:14.377Z","modified":"2026-10-28T02:31:07.823365212Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T15:44:32.116263Z"},{"id":"DEBIAN-CVE-2023-32682","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"withdrawn","published":"2023-06-06T19:15:11.743Z","modified":"2026-08-11T20:49:50.144502839Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:39.679062Z"},{"id":"GHSA-26c5-ppr8-f33p","title":"Synapse has improper checks for deactivated users during login","description":"### Impact\nIt may be possible for a deactivated user to login when using uncommon configurations.\n\nThis only applies if any of the following are true:\n\n* [JSON Web Tokens are enabled for login](https://matrix-org.github.io/synapse/latest/jwt.html) via the `jwt_config.enabled` configuration setting\n* 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.\n\n**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.\n\nInstallations 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.\n\n### Patches\n\n* If using JSON Web Token logins: #15624\n* For other users: #15634\n\n### Workarounds\n\nIf not using JSON Web Tokens, ensure that deactivated users do not have a password set. This list of users can be queried from PostgreSQL:\n\n```sql\nSELECT name FROM users WHERE password_hash IS NOT NULL AND deactivated = 1;\n```\n\n","status":"published","published":"2023-06-06T16:40:42Z","modified":"2026-09-10T03:50:02.042486864Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"},{"version":"4.0","score":5.3,"vector":"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","level":"medium"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T15:46:33.956911Z"},{"id":"UBUNTU-CVE-2023-32682","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"published","published":"2023-06-06T19:15:00Z","modified":"2025-09-08T16:56:19Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T16:54:20.997471Z"},{"id":"openSUSE-SU-2024:13039-1","title":"matrix-synapse-1.85.2-1.1 on GA media","description":"These are all security issues fixed in the matrix-synapse-1.85.2-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:20:53.96465Z","updated_at":"2026-11-02T16:58:36.025801Z"},{"id":"PYSEC-2023-84","description":"Synapse is a Matrix protocol homeserver written in Python with the Twisted framework. In affected versions it may be possible for a deactivated user to login when using uncommon configurations. This only applies if any of the following are true: 1. JSON Web Tokens are enabled for login via the `jwt_config.enabled` configuration setting. 2. The local password database is enabled via the `password_config.enabled` and `password_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. If not using JSON Web Tokens, ensure that deactivated users do not have a password set. This issue has been addressed in version 1.85.0. Users are advised to upgrade.","status":"published","published":"2023-06-06T19:15:00Z","modified":"2023-11-08T04:12:35.499722Z","updated_at":"2026-11-02T15:52:53.837392Z"}]}}
