GHSA-j386-3444-qgwg
Trix allows Cross-site Scripting via `javascript:` url in a link
Quick fix
GHSA-j386-3444-qgwg — trix: upgrade to the fixed version with the command below.
npm install trix@2.1.12Details
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
Are you affected?
Enter the version of the package you're using.
Affected packages
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]