Description
Emails sent by pretix can utilize placeholders that will be filled with customer data. For example, when {name} is used in an email template, it will be replaced with the buyer's name for the final email. If the name of the attendee contained HTML or Markdown formatting, this was rendered as HTML in the resulting email. This way, a user could inject links or other formatted text through a maliciously formatted name. Since pretix applies a strict allow list approach to allowed HTML tags, this could not be abused for XSS or similarly dangerous attack chains. However, it can be used to manipulate emails in a way that makes user-provided content appear in a trustworthy and credible way, which can be abused for phishing.
Problem types
Limited HTML injection in emails
Product status
1.0.0 (python) before 2025.7.0
2025.7.0 (python) before 2025.8.0
2025.8.0 (python) before 2025.9.0
2025.9.0 (python) before 2025.10.0
Credits
Jan Roring (binsec GmbH)
References
pretix.eu/about/en/blog/20251126-release-2025-9-1/