Skip to content

LO-070 [Intermediate]: HTML Sanitization in Email Sequence Step Editor #407

Description

@Kuldeeep18

Description

In the campaign builder step editor, users can write rich email copy. If a user pastes or inputs malicious HTML code (such as <script>alert('XSS')</script>), the email sending tasks could process it, creating a cross-site scripting (XSS) vulnerability. We need backend sanitization.

User & Contributor Value

  • Contributors: Learn HTML sanitization libraries (e.g. bleach or html-sanitizer in Python) and custom serializer field validation.
  • Users: High security. Prevents malicious scripts from being stored in the database or executed.

Code Locations

  • backend/campaigns/serializers.py

Implementation Guide

  1. Add bleach or standard HTML sanitization library to backend dependencies.
  2. In SequenceStepSerializer.validate_template_body, run a sanitizing script that strips scripts, iframe codes, and unapproved tags before saving.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gssoc:approvedGSSoC 2026 approved base points (+50 pts)level:intermediateDifficulty: Intermediate (+35 pts)type:securityType: Security (+20 pts)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions