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 stored cross-site scripting when crafted HTML is pasted into the editor. HTMLParser processes a mock attachment in a `<span>` with an empty `data-trix-attachment="{}"` value, causing data-trix-attributes to be applied to a plain string piece. StringPiece.fromJSON accepts an unvalidated href, allowing a javascript: URI to enter the document model and serialized HTML and execute when another user renders and clicks the content. Applications that apply server-side HTML sanitization can neutralize the payload on save. This issue is fixed in version 2.1.18.
Published: 2026-08-13
Score: 4.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability is a Stored Cross‑Site Scripting flaw (CWE‑79). A malicious user can craft an HTML fragment that includes a javascript: URI, paste it into the Trix rich‑text editor, and have the HTMLParser incorrectly apply data‑trix‑attributes to a plain string piece. The unvalidated href is then stored in the editor’s document model. When another user later renders or clicks the content, the embedded script executes in the victim’s browser context, enabling the attacker to run arbitrary JavaScript, steal credentials, or perform further actions within the application.

Affected Systems

Basecamp Trix, for versions earlier than 2.1.18, is affected. Any application embedding Trix and accepting user‑pasted HTML without adequate sanitization inherits this vulnerability, including web‑based collaborative editors or content management systems that rely on the Trix component.

Risk and Exploitability

The CVSS score of 4.6 indicates moderate risk, and there is no EPSS score or KEV listing for this issue. Exploitation requires an attacker to place a crafted payload into the editor, have the content stored, and for another user to view or interact with it. There is no network‑based attack or privilege escalation; the vulnerability is confined to cross‑site scripting within the user base. The likely attack vector is user‑initiated copy‑paste of malicious HTML, a low‑barrier method that can be executed in any session that has permission to write content to the editor.

Generated by OpenCVE AI on August 14, 2026 at 00:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update to Trix version 2.1.18 or newer to remove the vulnerable parsing logic.
  • Apply server‑side HTML sanitization that strips or escapes javascript: URIs and removes data‑trix‑attributes before storing content.
  • If a patch cannot be deployed immediately, disable or tightly restrict the ability to paste arbitrary HTML into the editor until a fix is available.

Generated by OpenCVE AI on August 14, 2026 at 00:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-53g2-mvcc-q9x3 Trix: Stored XSS via HTMLParser attribute injection on paste
History

Sat, 15 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Fri, 14 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 14 Aug 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Basecamp
Basecamp trix
Vendors & Products Basecamp
Basecamp trix

Thu, 13 Aug 2026 22:15:00 +0000

Type Values Removed Values Added
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 stored cross-site scripting when crafted HTML is pasted into the editor. HTMLParser processes a mock attachment in a `<span>` with an empty `data-trix-attachment="{}"` value, causing data-trix-attributes to be applied to a plain string piece. StringPiece.fromJSON accepts an unvalidated href, allowing a javascript: URI to enter the document model and serialized HTML and execute when another user renders and clicks the content. Applications that apply server-side HTML sanitization can neutralize the payload on save. This issue is fixed in version 2.1.18.
Title Trix: Stored XSS via HTMLParser attribute injection on paste
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 4.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-14T18:06:36.864Z

Reserved: 2026-08-12T14:32:11.796Z

Link: CVE-2026-73428

cve-icon Vulnrichment

Updated: 2026-08-14T17:39:36.696Z

cve-icon NVD

Status : Received

Published: 2026-08-13T22:17:26.587

Modified: 2026-08-14T18:19:09.413

Link: CVE-2026-73428

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-13T22:04:19Z

Links: CVE-2026-73428 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T01:00:05Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')