Skip to main content

Trix Editor EUVDEUVD-2026-57622

| CVE-2026-73427 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-08-12 GitHub_M
2.1
CVSS 4.0 · Vendor: GitHub_M

Severity by source

Vendor (GitHub_M) PRIMARY
2.1 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
3.1 LOW

AC:H reflects the required Level0InputController environment; UI:R for mandatory drag-and-drop; no confidentiality or availability impact; scope unchanged as XSS executes within the same page context.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
A
Scope
X

Lifecycle Timeline

3
Patch available
Aug 12, 2026 - 22:03 EUVD
Source Code Evidence Fetched
Aug 12, 2026 - 21:43 vuln.today
Analysis Generated
Aug 12, 2026 - 21:43 vuln.today

DescriptionCVE.org

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.

AnalysisAI

Cross-site scripting in Trix editor prior to 2.1.18 allows DOM injection via unsanitized javascript: URIs deserialized from attacker-controlled JSON payloads during drag-and-drop operations. The vulnerable path exists exclusively in environments using the Level0InputController fallback - such as embedded WebViews lacking Input Events Level 2 support - where StringPiece.fromJSON applied href attributes from application/x-trix-document JSON directly to anchor elements, bypassing the DOMPurify checks that protected the HTML serialization path. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Host draggable element with crafted application/x-trix-document JSON payload
Delivery
Social engineer victim to drag content into Trix editor in WebView
Exploit
Level0InputController intercepts drop event and passes JSON to StringPiece.fromJSON
Execution
javascript: URI applied to anchor href without DOMPurify validation
Persist
Injected link rendered in editor DOM
Impact
Victim clicks link, executing JavaScript in page context

Vulnerability AssessmentAI

Exploitation Two specific conditions must simultaneously hold for exploitation to succeed. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment Real-world risk is low, and the CVSS 4.0 score of 2.1 reflects this accurately. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker hosts a web page containing a draggable element whose MIME type is `application/x-trix-document` and whose JSON body encodes a string piece with `href` set to `javascript:alert(document.cookie)`. A victim using a mobile application that embeds a Trix editor in a WebView drags this element into the editor; the Level0InputController processes the drop, deserializes the JSON via `StringPiece.fromJSON`, and inserts an anchor element with the unsanitized `javascript:` href into the DOM. …
Remediation Upgrade to Trix version 2.1.18 or later, available for npm via `npm install trix@2.1.18` and for RubyGems via updating the `action_text-trix` gem to `>= 2.1.18`; the tagged release is at https://github.com/basecamp/trix/releases/tag/v2.1.18. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-57622 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy