Versions of dompurify
prior to 2.0.3 are vulnerable to Cross-Site Scripting (XSS). The package has an XSS filter bypass due to Mutation XSS in both Chrome and Safari through a combination of <svg>
/<math>
elements and </p>
/</br>
. An example payload is: <svg></p><style><a>
. This allows attackers to bypass the XSS protection and execute arbitrary JavaScript in a victimβs browser.
Upgrade to version 2.0.3 or later. You may also disallow <svg>
and <math>
through dompurify
configurations:
FORBID_TAGS: ['svg', 'math']
});```
## References
- [Vulnerability Report by Securitum](https://research.securitum.com/dompurify-bypass-using-mxss/)
- [GitHub Advisory](https://github.com/advisories/GHSA-chqj-j4fh-rw7m)