Trix is vulnerable to XSS through JSON deserialization bypass in drag-and-drop (Level0InputController)
- Severity:
- Low
Description
The Trix editor, in versions prior to 2.1.18, is vulnerable to XSS when a crafted application/x-trix-document JSON payload is dropped into the editor in environments using the fallback Level0InputController (e.g., embedded WebViews lacking Input Events Level 2 support).
The StringPiece.fromJSON method trusted href attributes from the JSON payload without sanitization.
Recommendation
Update the trix package to the latest compatible version. Followings are version details:
- Affected version(s): < 2.1.18
- Patched version(s): 2.1.18
References
Related Issues
- Trix has a Stored XSS vulnerability through serialized attributes - Vulnerability
- Trix has a stored XSS vulnerability through its attachment attribute - Vulnerability
- svelte is vulnerable to XSS with textarea bind:value - Vulnerability
- @tdurieux/anonymous_github Vulnerable to XSS via Unsanitized GitHub Repository Content Rendering in Anonymous GitHub Ori - Vulnerability
You might also like:
- Tags:
- npm
- trix
Anything's wrong? Let us know Last updated on April 01, 2026


