Medium

Cross-site scripting (XSS) vulnerability in the password reset endpoint

  • Disclosed: 26.03.2021
  • Updated: 11.10.2026 13:19

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:

  1. Password resets can be disabled by delegating email to a third-party service (via the account_threepid_delegates.email setting) or disabling email (by not configuring the email setting).

  2. If the homeserver is not configured to use passwords (via the password_config.enabled setting) then the affected endpoint can be blocked at a reverse proxy:

    • /_synapse/client/password_reset/email/submit_token
  3. The password_reset_confirmation.html template can be overridden with a custom template that manually escapes the variables using JInja2's escape filter. See the email.template_dir setting.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) matrix-synapse < 1.27.0 1.27.0

References

CVSS score 6.9/10
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.

All (45) in the archive
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

  1. 2019: 3
  2. 2020: 3
  3. 2021: 12
  4. 2022: 7
  5. 2023: 9
  6. 2024: 7
  7. 2025: 2
  8. 2026: 2
Severity:
  1. High · 5.5 CVE-2026-45078 < 1.152.1 1.152.1
  2. High · 7.5 CVE-2024-37302 < 1.106 1.106
  3. High · 7.5 CVE-2022-31152 < 1.62.0rc1 1.62.0rc1
  4. High · 7.5 CVE-2018-10657 < 0.28.1 0.28.1
  5. High · 8.8 CVE-2018-16515 >= 0.33.3, < 0.33.3.1, < 0.33.2.1 0.33.3.1, 0.33.2.1
  6. High · 7.5 CVE-2018-12423 < 0.31.2 0.31.2
  7. High · 7.5 CVE-2018-12291 < 0.31.1 0.31.1
  8. High · 7.5 CVE-2021-41281 < 1.47.1 1.47.1
  9. High · 6.3 CVE-2021-21392 < 1.28.0rc1 1.28.0rc1
  10. Cross-site scripting (XSS) vulnerability in the password reset endpoint this entry
    Medium · 6.9 CVE-2021-21332 < 1.27.0 1.27.0
  11. High · 6.5 CVE-2020-26257 < 1.23.1 1.23.1
  12. High · 7.5 CVE-2020-26890 < 1.20.0 1.20.0
Show more (2) Showing 20 of 22

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.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.