Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| basecamp | trix | < 2.1.17 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | ruby3.2-rails-8.1 | 8.1.3-r0 | — |
| Wolfi rolling | ruby3.3-rails-8.1 +2 | 8.1.2.1-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | trix | < 2.1.17 | 2.1.17 | GHSA-qmpg-8xg6-ph5q |
| RubyGems | action_text-trix | < 2.1.17 | 2.1.17 | GHSA-qmpg-8xg6-ph5q |
References
- 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