Skip to content
Heist/ feed
Back to feed
Medium

Trix: Stored XSS vulnerability through serialized attributes

Type: advisorySources: OSV

Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. Prior to 2.1.17, Trix is vulnerable to cross-site scripting when a data-trix-serialized-attributes attribute bypasses the DOMPurify sanitizer. An attacker can craft HTML containing a data-trix-serialized-attributes attribute with a malicious payload that, when rendered, executes arbitrary JavaScript in the user's session and may perform unauthorized actions or disclose sensitive information. This issue is fixed in version 2.1.17.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-73426
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 02:59 UTC · Revision 1

Source evidence

Trix: Stored XSS vulnerability through serialized attributes

core-osv · Original source

Published 18 Aug 2026, 14:24 UTC

Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. Prior to 2.1.17, Trix is vulnerable to cross-site scripting when a data-trix-serialized-attributes attribute bypasses the DOMPurify sanitizer. An attacker can craft HTML containing a data-trix-serialized-attributes attribute with a malicious payload that, when rendered, executes arbitrary JavaScript in the user's session and may perform unauthorized actions or disclose sensitive information. This issue is fixed in version 2.1.17.

osv:CVE-2026-73426
Complete source record
{
  "id": "251a2489bf665c92218b790f8895882fdf51ddd650506bad19179fe529a98bbf",
  "url": "https://osv.dev/vulnerability/CVE-2026-73426",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Trix: Stored XSS vulnerability through serialized attributes",
    "summary": "Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. Prior to 2.1.17, Trix is vulnerable to cross-site scripting when a data-trix-serialized-attributes attribute bypasses the DOMPurify sanitizer. An attacker can craft HTML containing a data-trix-serialized-attributes attribute with a malicious payload that, when rendered, executes arbitrary JavaScript in the user's session and may perform unauthorized actions or disclose sensitive information. This issue is fixed in version 2.1.17.",
    "evidence": "osv:CVE-2026-73426",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-73426",
      "aliases": [
        "CVE-2026-73426",
        "GHSA-qmpg-8xg6-ph5q"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/basecamp/trix",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2e46d5128f3927cd93543b5fff8d81b31d35ce77"
                },
                {
                  "fixed": "3229c29c771ded4d247ed79b2ccd2cd05c4e74b4"
                },
                {
                  "fixed": "53197ab5a142e6b0b76127cb790726b274eaf1bc"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.1.17"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "3229c29c771ded4d247ed79b2ccd2cd05c4e74b4"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "53197ab5a142e6b0b76127cb790726b274eaf1bc"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "2e46d5128f3927cd93543b5fff8d81b31d35ce77"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.1.17"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.1.16",
            "v2.1.15",
            "v2.1.14",
            "v2.1.13",
            "v2.1.12",
            "v2.1.11",
            "v2.1.10",
            "v2.1.9",
            "v2.1.8",
            "v2.1.7",
            "v2.1.6",
            "v2.1.5",
            "v2.1.4",
            "2.1.3",
            "v2.1.1",
            "1.3.1",
            "v2.1.0",
            "v2.0.10",
            "v2.0.9",
            "v2.0.8",
            "v2.0.7",
            "v2.0.6",
            "v2.0.5",
            "v2.0.4",
            "v2.0.3",
            "v2.0.2",
            "v2.0.1",
            "1.3.0",
            "1.2.4",
            "1.2.3",
            "1.2.2",
            "1.2.1",
            "1.2.0",
            "1.1.1",
            "1.1.0",
            "1.0.0",
            "0.12.1",
            "0.12.0",
            "0.11.4",
            "0.11.3",
            "0.11.2",
            "0.11.1",
            "0.11.0",
            "0.10.2",
            "0.10.1",
            "0.10.0",
            "0.9.10",
            "0.9.9",
            "0.9.8",
            "0.9.7",
            "0.9.6",
            "0.9.5",
            "0.9.4",
            "0.9.3",
            "0.9.2",
            "0.9.1",
            "0.9.0",
            "0.8.0",
            "0.5.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73426.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:25.274380269Z",
      "provider": "osv",
      "references": [
        "https://github.com/basecamp/trix/releases/tag/v2.1.17",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73426.json",
        "https://github.com/basecamp/trix/security/advisories/GHSA-qmpg-8xg6-ph5q",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-73426",
        "https://github.com/basecamp/trix/commit/3229c29c771ded4d247ed79b2ccd2cd05c4e74b4",
        "https://github.com/basecamp/trix/commit/53197ab5a142e6b0b76127cb790726b274eaf1bc",
        "https://github.com/basecamp/trix/pull/1282"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73426.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-73426",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492063,
  "published_at": "2026-08-18T14:24:27.542+00:00"
}