Cross-site scripting (XSS) vulnerability in the fallback authentication endpoint
### Impact The fallback authentication 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 by #8444, which is included in Synapse v1.21.0. ### Workarounds If the homeserver is not configured to use reCAPTCHA, consent (terms of service), or single sign-on then the affected endpoint can be blocked at a reverse proxy: * `/_matrix/client/r0/auth/.*/fallback/web` * `/_matrix/client/unstable/auth/.*/fallback/web`
02 / AFFECTED SOFTWARE
Affected packages
123 explicit affected versions
129 explicit affected versions
129 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
AuthRestServlet in Matrix Synapse before 1.21.0 is vulnerable to XSS due to unsafe interpolation of the session GET parameter. This allows a remote attacker to execute an XSS attack on the domain Synapse is hosted on, by supplying the victim user with a malicious URL to the /_matrix/client/r0/auth/*/fallback/web or /_matrix/client/unstable/auth/*/fallback/web Synapse endpoints.
### Impact The fallback authentication 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 by #8444, which is included in Synapse v1.21.0. ### Workarounds If the homeserver is not configured to use reCAPTCHA, consent (terms of service), or single sign-on then the affected endpoint can be blocked at a reverse proxy: * `/_matrix/client/r0/auth/.*/fallback/web` * `/_matrix/client/unstable/auth/.*/fallback/web`
AuthRestServlet in Matrix Synapse before 1.21.0 is vulnerable to XSS due to unsafe interpolation of the session GET parameter. This allows a remote attacker to execute an XSS attack on the domain Synapse is hosted on, by supplying the victim user with a malicious URL to the /_matrix/client/r0/auth/*/fallback/web or /_matrix/client/unstable/auth/*/fallback/web Synapse endpoints.
05 / REFERENCES
Further evidence
- https://github.com/matrix-org/synapse/pull/8444
- https://github.com/matrix-org/synapse/releases/tag/v1.21.2
- https://github.com/matrix-org/synapse/security/advisories/GHSA-3x8c-fmpc-5rmq
- https://matrix.org/blog/2020/10/15/synapse-1-21-2-released-and-security-advisory
- https://github.com/matrix-org/synapse
- https://github.com/matrix-org/synapse/releases
- https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2020-238.yaml
- https://nvd.nist.gov/vuln/detail/CVE-2020-26891