GitHub Advisoryadvisory · PyPI

GHSA-246w-56m2-5899 Cross-site scripting (XSS) vulnerability in the password reset endpoint

MEDIUM Published 2021-03-26 Modified 2024-09-30 Official page ↗
Aliases
CVE-2021-21332
Ecosystem
PyPI
Packages
matrix-synapse
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:N
Weaknesses
CWE-79
Reviewed
2021-03-26

Affected packages

• PyPI matrix-synapse: < 1.27.0 → fixed in 1.27.0

Description

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.

Related

Alias · CVE (1)

  • CVE-2021-21332 Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References