GitHub Advisoryadvisory · PyPI

GHSA-c5f8-35qr-q4fm HTML injection in email and account expiry notifications

MEDIUM Published 2021-03-26 Modified 2024-09-30 Official page ↗
Aliases
CVE-2021-21333
Ecosystem
PyPI
Packages
matrix-synapse
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N
Weaknesses
CWE-74, CWE-79
Reviewed
2021-03-26

Affected packages

• PyPI matrix-synapse: < 1.27.0 → fixed in 1.27.0

Description

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: 1. Account expiry can be disabled via the `account_validity.enabled` setting. 2. 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.

Related

Alias · CVE (1)

  • CVE-2021-21333 Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). vulnerability

Weakness · CWE (2)

  • CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component weakness
  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References