HexBrain

WordPress · Report #240256

[mercantile.wordpress.org] Reflected XSS

Validstatus
mediumseverity
13upvotes
30 Aug 2018disclosed

Summary

@zee_shan found a bypass for #230234. Payload used :

{{constructor.constructor('alert(document.domain)')()}}

URL to trigger XSS : https://mercantile.wordpress.org/?s=%26%23123%3B%26%23123%3Bconstructor.constructor%28%27alert%28document.domain%29%27%29%28%29%7D%7D&post_type=product


Soon after another XSS issue on the /checkout endpoint: mercantile.wordpress.org/checkout/

Have a discount code? Enter it here is vulnerable. You can use this payload to trigger XSS: {{constructor.constructor('alert(document.domain)')()}}


Due to a collection of similar reports and @zee_shan's findings we did a full audit on the site that resulted in ripping out all of the Angular code and replacing it with other solutions, which took several months to complete. During that time a bounty was awarded and when when it was completed @zee_shan confirmed that the issues were fixed and they saw no additional bypasses.

Full disclosure was requested by WordPress, but @zee_shan preferred partial disclosure with a summary.

How it was found

The write-up for this report has not been downloaded yet, or the program disclosed it without one. Read it on HackerOne.

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