Trix: Stored XSS vulnerability through serialized attributes
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. Prior to 2.1.17, Trix is vulnerable to cross-site scripting when a data-trix-serialized-attributes attribute bypasses the DOMPurify sanitizer. An attacker can craft HTML containing a data-trix-serialized-attributes attribute with a malicious payload that, when rendered, executes arbitrary JavaScript in the user's session and may perform unauthorized actions or disclose sensitive information. This issue is fixed in version 2.1.17.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| basecamp | trix | before 2.1.17 | 2.1.17 | Patch available | CNA |
| — | action_text-trix (RubyGems) | before 2.1.17 | 2.1.17 | Patch available | GHSA-qmpg-8xg6-ph5q |
| — | trix (npm) | before 2.1.17 | 2.1.17 | Patch available | GHSA-qmpg-8xg6-ph5q |
- trix Vendorbasecamp Affected before 2.1.17 Fixed in 2.1.17 Patch available CNA
- action_text-trix (RubyGems) Vendor— Affected before 2.1.17 Fixed in 2.1.17 Patch available GHSA-qmpg-8xg6-ph5q
- trix (npm) Vendor— Affected before 2.1.17 Fixed in 2.1.17 Patch available GHSA-qmpg-8xg6-ph5q
Remediation
- Fix · CNA trix (basecamp) Fixed in 2.1.17
- Fix · GHSA-qmpg-8xg6-ph5q action_text-trix (RubyGems) Fixed in 2.1.17 Advisory →
- Fix · GHSA-qmpg-8xg6-ph5q trix (npm) Fixed in 2.1.17 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-73426
- 2026-10-03 Alias added: GHSA-qmpg-8xg6-ph5q
References
Other 7
- https://github.com/basecamp/trix/security/advisories/GHSA-qmpg-8xg6-ph5q
- https://github.com/basecamp/trix/pull/1282
- https://github.com/basecamp/trix/commit/3229c29c771ded4d247ed79b2ccd2cd05c4e74b4
- https://github.com/basecamp/trix/commit/53197ab5a142e6b0b76127cb790726b274eaf1bc
- https://github.com/basecamp/trix/releases/tag/v2.1.17
- https://github.com/basecamp/trix
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/action_text-trix/GHSA-qmpg-8xg6-ph5q.yml
More basecamp vulnerabilities
- TI-2023-18436 Directory traversal can occur in the Basecamp com.basecamp.bc3 application before 4.2.1… CVSS 3.1HIGH 7.5
- TI-2024-29019 Trix has a Cross-Site Scripting (XSS) vulnerability on copy & paste CVSS 3.1MEDIUM 6.5
- TI-2024-36043 Trix vulnerable to Cross-site Scripting on copy & paste CVSS 4.0MEDIUM 5.1
- TI-2018-16075 easymon version 1.4 and earlier contains a Cross Site Scripting (XSS) vulnerability in… CVSS 3.1MEDIUM 6.1
- TI-2024-22682 The Trix Editor Contains an Arbitrary Code Execution Vulnerability CVSS 3.1MEDIUM 5.4
- TI-2025-15570 Trix allows Cross-site Scripting via `javascript:` url in a link CVSS 3.1MEDIUM 5.3
Sources
- CVE-2026-73426 · CVE Program
- CVE-2026-73426 · NVD
- FIRST EPSS
- GHSA-qmpg-8xg6-ph5q · GitHub Advisory Database · CC BY 4.0
- CVE-2026-73426 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences