From SVG to ATO: How a Stored XSS Bug Earned a ,629 Bounty

Listen to this Post

Featured Image

Introduction:

A recent bug bounty case study reveals a sophisticated attack chain where a single, improperly sanitized SVG image file became the linchpin for Account Takeover (ATO). The vulnerability, a Stored Cross-Site Scripting (XSS) flaw, allowed malicious JavaScript to persist on a target platform and execute automatically whenever the image was viewed, demonstrating how seemingly low-severity issues can escalate into critical security breaches.

Learning Objectives:

  • Understand the mechanics of Stored XSS via SVG files and how it differs from Reflected XSS.
  • Learn the step-by-step exploitation path from injecting malicious SVG to achieving full Account Takeover (ATO).
  • Master defensive coding practices and configuration changes to prevent similar vulnerabilities in web applications.

1. The Anatomy of an SVG XSS Payload

SVG (Scalable Vector Graphics) files are XML-based. Unlike standard image formats, they can contain embedded JavaScript within `