What’s Vulnerable › Vulnerabilities
CVE-2026-73427: Trix: XSS via JSON deserialization bypass in drag-and-drop (Level0InputController)
- Severity: low (CVSS 2.1 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-12 · updated 2026-10-24
- Weakness: CWE-79
Description
Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. Prior to 2.1.18, Trix is vulnerable to cross-site scripting when a crafted application/x-trix-document JSON payload is dropped into an editor using the fallback Level0InputController, such as an embedded WebView without Input Events Level 2 support. The StringPiece.fromJSON method trusts href attributes from the JSON payload without sanitization, allowing a draggable element containing a javascript: URI to bypass DOMPurify sanitization and inject executable JavaScript into the DOM. Exploitation requires the victim to drag and drop attacker-controlled content, and server-side HTML sanitization can neutralize the payload on save. This issue is fixed in version 2.1.18.
Affected products
- basecamp trix: before 2.1.18
References
- https://github.com/basecamp/trix/commit/9c0a993d9fc2ffe9d56b013b030bc238f9c0557c
- https://github.com/basecamp/trix/pull/1293
- https://github.com/basecamp/trix/releases/tag/v2.1.18
- https://github.com/basecamp/trix/security/advisories/GHSA-53p3-c7vp-4mcc
Get alerted when CVE-2026-73427 or the next vulnerability affects your stack