HexBrain

Shopify · Report #978125

xss triggered in "myshopify.com/admin/product"

Validstatus
highseverity
25upvotes
15 Sept 2020disclosed

Summary

@jaka_tingkir discovered a bypass to an HTML sanitization function on the Collections and Products Rich Text Editor. Until recently, all reports regarding cross site scripting in the Rich Text Editor were considered a Known Issue under our program:

  • XSS - Rich Text Editor - Any issue related to execution of javascript in the Rich Text Editor (for example, when editing the description of a product, blog or collection, etc).

Recently we deployed an HTML sanitization function to the Rich Text Editor in specific sections of the administrative area. We then updated the exclusion to mention specific pages that are still vulnerable:

  • XSS - Rich Text Editor - Issues relating to execution of JavaScript in the legacy Rich Text Editor in the Legal settings, Blogs section, and Pages section of the Shopify admin.

As this exclusion states, all new reports regarding the legal settings, blogs, and pages sections will still be considered invalid and a Known Issue. New XSS reports regarding the rich text editors in the Products and Collections sections may be valid.

How it was found

I tried to make a product description and add the xss script in the paragraph.

steps for reproduction

  1. create a new product
  2. enter xss in the product description paragraph, such as; `<div align =" center "data-mce-fragment =" 1 "> <img src = x onerror = prompt (document.cookie)>
<h4 dir = "ltr" data-mce-fragment = "1"> <span style = "text-decoration: underline; color: # ff2a00;"> <em> <strong> (name_product) </strong></em></span> </h4> </div> ``

Impact

xss can be triggered

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original