CVE-2025-21610 json
Trix allows Cross-site Scripting via `javascript:` url in a link
published 2025-01-03 22 mo ago modified 2026-06-17 4 mo ago also GHSA-j386-3444-qgwg , EUVD-2025-0029
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 36%
- public exploits
- 0
- none known
Summary
Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. Versions prior to 2.1.12 are vulnerable to cross-site scripting when pasting malicious code in the link field. An attacker could trick the user to copy&paste a malicious `javascript:` URL as a link that would execute arbitrary JavaScript code within the context of the user's session, potentially leading to unauthorized actions being performed or sensitive information being disclosed. Users should upgrade to Trix editor version 2.1.12 or later to receive a patch. In addition to upgrading, affected users can disallow browsers that don't support a Content Security Policy (CSP) as a workaround for this and other cross-site scripting vulnerabilities. Set CSP policies such as script-src 'self' to ensure that only scripts hosted on the same origin are executed, and explicitly prohibit inline scripts using script-src-elem.
Patch / fix
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 22 mo ago
Exploit prediction
0.42% chance of exploitation in the next 30 days, higher than 36% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | trix | <2.1.12 |
2.1.12 |
Affected products
- basecamp trix
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/basecamp/trix/commit/180c8d337f18e1569cea6ef29b4d03ffff5b5faa
web
-
github.com
/basecamp/trix/commit/c4f0d6f80654603932af6685694f694e96593b93
web
-
github.com
/basecamp/trix/security/advisories/GHSA-j386-3444-qgwg
web
-
gist.github.com
/th4s1s/3921fd9c3e324ad9a3e0d846166e3eb8
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-21610
advisory
-
github.com
/basecamp/trix
package
Sources
- CVE List CVE-2025-21610
- GitHub Advisory GHSA-j386-3444-qgwg
- NVD CVE-2025-21610
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.