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.
This issue is fixed in #9200.
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.enabled
setting.
The notice_expiry.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.
github.com/matrix-org/synapse
github.com/matrix-org/synapse/commit/e54746bdf7d5c831eabe4dcea76a7626f1de73df
github.com/matrix-org/synapse/pull/9200
github.com/matrix-org/synapse/releases/tag/v1.27.0
github.com/matrix-org/synapse/security/advisories/GHSA-c5f8-35qr-q4fm
lists.fedoraproject.org/archives/list/[email protected]/message/TNNAJOZNMVMXM6AS7RFFKB4QLUJ4IFEY
nvd.nist.gov/vuln/detail/CVE-2021-21333