GHSA-6VX4-V2JW-QWQH
Vulnerability from github – Published: 2024-12-09 20:38 – Updated: 2024-12-09 21:53The Trix editor, in versions prior to 2.1.9 and 1.3.3, is vulnerable to XSS + mutation XSS attacks when pasting malicious code.
Impact
An attacker could trick a user to copy and paste malicious code 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.
Patches
Update Recommendation: Users should upgrade to Trix editor version 2.1.9 or later, which uses DOMPurify to sanitize the pasted content.
If using Trix 1.x, upgrade to version 1.3.3 or later.
Mitigations
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
The XSS vulnerability was reported by HackerOne researcher hiumee. The mutation XSS vulnerability was reported by HackerOne researcher sudi.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "trix"
},
"ranges": [
{
"events": [
{
"introduced": "2.0.0"
},
{
"fixed": "2.1.9"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "trix"
},
"ranges": [
{
"events": [
{
"introduced": "1.0.0"
},
{
"fixed": "1.3.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2024-53847"
],
"database_specific": {
"cwe_ids": [
"CWE-79"
],
"github_reviewed": true,
"github_reviewed_at": "2024-12-09T20:38:42Z",
"nvd_published_at": "2024-12-09T19:15:14Z",
"severity": "MODERATE"
},
"details": "The Trix editor, in versions prior to 2.1.9 and 1.3.3, is vulnerable to XSS + mutation XSS attacks when pasting malicious code.\n\n### Impact\n\nAn attacker could trick a user to copy and paste malicious code that would execute arbitrary JavaScript code within the context of the user\u0027s session, potentially leading to unauthorized actions being performed or sensitive information being disclosed.\n\n### Patches\n\nUpdate Recommendation: Users should upgrade to Trix editor version 2.1.9 or later, which uses [DOMPurify](https://github.com/cure53/DOMPurify) to sanitize the pasted content. \n\nIf using Trix 1.x, upgrade to version 1.3.3 or later.\n\n### Mitigations\n\nThis 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\u0027t 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 \u0027self\u0027 to ensure that only scripts hosted on the same origin are executed, and explicitly prohibit inline scripts using script-src-elem.\n\n### References\n\nThe XSS vulnerability was reported by HackerOne researcher [hiumee](https://hackerone.com/hiumee?type=user).\nThe mutation XSS vulnerability was reported by HackerOne researcher [sudi](https://hackerone.com/sudi?type=user).\n\n",
"id": "GHSA-6vx4-v2jw-qwqh",
"modified": "2024-12-09T21:53:54Z",
"published": "2024-12-09T20:38:42Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/basecamp/trix/security/advisories/GHSA-6vx4-v2jw-qwqh"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-53847"
},
{
"type": "WEB",
"url": "https://github.com/basecamp/trix/commit/272c7e27e722608732a67108ad3fe7870e233ac8"
},
{
"type": "PACKAGE",
"url": "https://github.com/basecamp/trix"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Trix editor subject to XSS vulnerabilities on copy \u0026 paste"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.