GitHub Advisoryadvisory · npm
GHSA-j386-3444-qgwg Trix allows Cross-site Scripting via `javascript:` url in a link
MEDIUM
Official page ↗
- Aliases
- CVE-2025-21610
- Ecosystem
- npm
- Packages
- trix
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
- Weaknesses
- CWE-79
- Reviewed
- 2025-01-03
Affected packages
• npm trix: < 2.1.12 → fixed in 2.1.12
Description
The Trix editor, versions prior to 2.1.11, is vulnerable to XSS when pasting malicious code in the link field.
Impact
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.
See https://gist.github.com/th4s1s/3921fd9c3e324ad9a3e0d846166e3eb8
Patches
Update Recommendation: Users should upgrade to Trix editor version 2.1.12 or later.
Workarounds
This is not really a workaround but something that should be considered in addition to upgrading to the patched version. If affected users can disallow browsers that don't support a Content Security Policy, then this would be an effective workaround for this and all XSS 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.
References
https://gist.github.com/th4s1s/3921fd9c3e324ad9a3e0d846166e3eb8
Credits
This vulnerability was reported by Hackerone researcher https://hackerone.com/lio346?type=user
Related
Alias · CVE (1)
- CVE-2025-21610 Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/basecamp/trix/security/advisories/GHSA-j386-3444-qgwg web
- https://nvd.nist.gov/vuln/detail/CVE-2025-21610 advisory
- https://github.com/basecamp/trix/commit/180c8d337f18e1569cea6ef29b4d03ffff5b5faa web
- https://github.com/basecamp/trix/commit/c4f0d6f80654603932af6685694f694e96593b93 web
- https://gist.github.com/th4s1s/3921fd9c3e324ad9a3e0d846166e3eb8 web
- https://github.com/basecamp/trix package