CVE-2021-21333Medium· 6.1▾ SunlitHTML injection in email and account expiry notifications
▾ Sunlit zone — Low / medium · no exploitation signal
impact 33.6 · likelihood 0.3 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 8.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
Last analysed / modified upstream
1.4%
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.
matrix-synapse < 1.27.0Upgrade to a patched release:
matrix-synapse 1.27.0Connected by shared product, vendor, weakness, or advisory.
CVE-2021-21332Medium· 6.9Cross-site scripting (XSS) vulnerability in the password reset endpoint
CVE-2021-21274Medium· 4.3Denial of service attack via .well-known lookups
CVE-2021-29471Low· 3.7Denial of service attack via push rule patterns in matrix-synapse
CVE-2021-21394Medium· 5.3Denial of service (via resource exhaustion) due to improper input validation on third-party identifier endpoints
CVE-2021-21273Low· 3.1Open redirects on some federation and push requests
CVE-2021-21393Medium· 5.3Denial of service (via resource exhaustion) due to improper input validation on groups/communities endpoints