CVE-2021-21332: 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:
1. Password resets can be disabled by delegating email to a third-party service (via the accountthreepiddelegates.email setting) or disabling email (by not configuring the email setting).
2. If the homeserver is not configured to use passwords (via the passwordconfig.enabled setting) then the affected endpoint can be blocked at a reverse proxy:
/synapse/client/passwordreset/email/submittoken
3. The passwordresetconfirmation.html template can be overridden with a custom template that manually escapes the variables using JInja2's escape filter. See the email.templatedir setting.
Other sources
Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.27.0, 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. This is fixed in version 1.27.0.
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is CVE-2021-21332?
CVE-2021-21332 is a vulnerability in Synapse, a Matrix reference homeserver, that allows for cross-site scripting (XSS) attacks.
What is the severity of CVE-2021-21332?
CVE-2021-21332 has a severity rating of 8.2, which is considered high.
How does CVE-2021-21332 affect Synapse?
CVE-2021-21332 affects Synapse versions up to and excluding 1.27.0, making them vulnerable to cross-site scripting (XSS) attacks.
How can I fix CVE-2021-21332?
To fix CVE-2021-21332, upgrade to Synapse version 1.27.0 or higher.
Is Fedora affected by CVE-2021-21332?
Yes, Fedora version 34 is affected by CVE-2021-21332.