Cross-site scripting (XSS) vulnerability in the password reset endpoint
Impact
The password reset endpoint served via Synapse was vulnerable to cross-site scripting (XSS) attacks. The impact depends on the configuration of the domain that Synapse is deployed on, but may allow access to cookies and other browser data, CSRF vulnerabilities, and access to other resources served on the same domain or parent domains.
Patches
This is fixed in #9200.
Workarounds
Depending on the needs and configuration of the homeserver a few options are available:
-
Password resets can be disabled by delegating email to a third-party service (via the
account_threepid_delegates.emailsetting) or disabling email (by not configuring theemailsetting). -
If the homeserver is not configured to use passwords (via the
password_config.enabledsetting) then the affected endpoint can be blocked at a reverse proxy:/_synapse/client/password_reset/email/submit_token
-
The
password_reset_confirmation.htmltemplate can be overridden with a custom template that manually escapes the variables using JInja2'sescapefilter. See theemail.template_dirsetting.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | matrix-synapse | < 1.27.0 | 1.27.0 |
References
- https://github.com/matrix-org/synapse/pull/9200
- https://github.com/matrix-org/synapse/commit/e54746bdf7d5c831eabe4dcea76a7626f1de73df
- https://github.com/matrix-org/synapse/security/advisories/GHSA-246w-56m2-5899
- https://github.com/matrix-org/synapse/releases/tag/v1.27.0
- https://nvd.nist.gov/vuln/detail/CVE-2021-21332
- https://github.com/matrix-org/synapse
- https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2021-133.yaml
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TNNAJOZNMVMXM6AS7RFFKB4QLUJ4IFEY
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:N- Weakness (CWE)
CWE-79- Platform
- Python (PyPI)
- Package
matrix-synapse- Disclosed
- 26.03.2021
- Updated
- 11.10.2026 13:19
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2021-133 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-246w-56m2-5899 - CC BY 4.0
Vulnerability history: matrix-synapse
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 45
- First → latest
- 03.2019 05.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 21
- Medium 21
- Low 3
Disclosures per year
- 2019: 3
- 2020: 3
- 2021: 12
- 2022: 7
- 2023: 9
- 2024: 7
- 2025: 2
- 2026: 2
-
Cross-site scripting (XSS) vulnerability in the password reset endpoint this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.