HTML injection in email and account expiry notifications
Impact
The notification emails sent for notifications for missed messages or for an expiring account are subject to HTML injection. In the case of the notification for missed messages, this could allow an attacker to insert forged content into the email.
The account expiry feature is not enabled by default and the HTML injection is not controllable by an attacker.
Patches
This issue is fixed in #9200.
Workarounds
For the missed messages notifications:
The notif.html, notif_mail.html, and room.html templates can be overridden with custom templates that manually escapes the variables using JInja2's escape filter. See the email.template_dir setting.
For the account expiry notifications:
-
Account expiry can be disabled via the
account_validity.enabledsetting. -
The
notice_expiry.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/releases/tag/v1.27.0
- https://github.com/matrix-org/synapse/security/advisories/GHSA-c5f8-35qr-q4fm
- https://nvd.nist.gov/vuln/detail/CVE-2021-21333
- https://github.com/matrix-org/synapse
- https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2021-134.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:N/I:H/A:N- Weakness (CWE)
CWE-74, 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-134 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-c5f8-35qr-q4fm - 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
-
HTML injection in email and account expiry notifications 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.