GHSA-QMPG-8XG6-PH5Q
Vulnerability from github – Published: 2026-03-12 17:29 – Updated: 2026-03-18 19:37
VLAI
Summary
Trix has a Stored XSS vulnerability through serialized attributes
Details
Impact
The Trix editor, in versions prior to 2.1.17, is vulnerable to XSS attacks when a data-trix-serialized-attributes attribute bypasses the DOMPurify sanitizer.
An attacker could craft HTML containing a data-trix-serialized-attributes attribute with a malicious payload that, when the content is rendered, could 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.17 or later.
References
The XSS vulnerability was responsibly reported by Hackerone researcher newbiefromcoma.
Severity
4.6 (Medium)
{
"affected": [
{
"package": {
"ecosystem": "RubyGems",
"name": "action_text-trix"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.17"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "trix"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.17"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-79"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-12T17:29:30Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Impact\nThe Trix editor, in versions prior to 2.1.17, is vulnerable to XSS attacks when a `data-trix-serialized-attributes` attribute bypasses the DOMPurify sanitizer.\n\nAn attacker could craft HTML containing a `data-trix-serialized-attributes` attribute with a malicious payload that, when the content is rendered, could 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\nUpdate Recommendation: Users should upgrade to Trix editor version 2.1.17 or later.\n\n### References\nThe XSS vulnerability was responsibly reported by Hackerone researcher [newbiefromcoma](https://hackerone.com/newbiefromcoma).",
"id": "GHSA-qmpg-8xg6-ph5q",
"modified": "2026-03-18T19:37:52Z",
"published": "2026-03-12T17:29:30Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/basecamp/trix/security/advisories/GHSA-qmpg-8xg6-ph5q"
},
{
"type": "WEB",
"url": "https://github.com/basecamp/trix/pull/1282"
},
{
"type": "WEB",
"url": "https://github.com/basecamp/trix/commit/53197ab5a142e6b0b76127cb790726b274eaf1bc"
},
{
"type": "PACKAGE",
"url": "https://github.com/basecamp/trix"
},
{
"type": "WEB",
"url": "https://github.com/basecamp/trix/releases/tag/v2.1.17"
},
{
"type": "WEB",
"url": "https://github.com/rubysec/ruby-advisory-db/blob/master/gems/action_text-trix/GHSA-qmpg-8xg6-ph5q.yml"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "Trix has a Stored XSS vulnerability through serialized attributes"
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
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.
Loading…
Loading…