Skip to content
Heist/ feed
Back to feed
Critical

Strapi 4.x through 4.26.2 and 5.x before 5.48.1 Stored XSS via WYSIWYG

Type: advisorySources: OSV

Strapi versions 4.x through 4.26.2 and 5.x before 5.48.1 contain a stored cross-site scripting vulnerability in the content manager WYSIWYG preview component that fails to strip script tags from rich text. An Author-role user can store malicious script tags in rich text fields that execute in an Editor or Super Admin's session when the preview pane is expanded, enabling account takeover.

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

Source evidence

Strapi 4.x through 4.26.2 and 5.x before 5.48.1 Stored XSS via WYSIWYG

core-osv · Original source

Published 13 Sept 2026, 10:45 UTC

Strapi versions 4.x through 4.26.2 and 5.x before 5.48.1 contain a stored cross-site scripting vulnerability in the content manager WYSIWYG preview component that fails to strip script tags from rich text. An Author-role user can store malicious script tags in rich text fields that execute in an Editor or Super Admin's session when the preview pane is expanded, enabling account takeover.

osv:CVE-2026-90561
Complete source record
{
  "id": "d5f7d3758e360c0c24b292c767c15c220aecf99559c10d7123a4b83f911fa763",
  "url": "https://osv.dev/vulnerability/CVE-2026-90561",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Strapi 4.x through 4.26.2 and 5.x before 5.48.1 Stored XSS via WYSIWYG",
    "summary": "Strapi versions 4.x through 4.26.2 and 5.x before 5.48.1 contain a stored cross-site scripting vulnerability in the content manager WYSIWYG preview component that fails to strip script tags from rich text. An Author-role user can store malicious script tags in rich text fields that execute in an Editor or Super Admin's session when the preview pane is expanded, enabling account takeover.",
    "evidence": "osv:CVE-2026-90561",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-90561",
      "aliases": [
        "CVE-2026-90561"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/strapi/strapi",
              "type": "GIT",
              "events": [
                {
                  "introduced": "b181702f0202b2c6d645d42b195a831f25cd0b03"
                },
                {
                  "last_affected": "7ad165f89d1ccae3c524439a36fc619ecf6b23f9"
                },
                {
                  "introduced": "ce84fada19d58a7dfbdd553035e6558f8befcba4"
                },
                {
                  "fixed": "b1e707d60def66aa840ad29db1a15f2ca574c154"
                },
                {
                  "fixed": "875752612c30f951546904a29469e51e17e0ac37"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "4.0.0"
                      },
                      {
                        "last_affected": "4.26.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "5.0.0"
                      },
                      {
                        "fixed": "5.48.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "875752612c30f951546904a29469e51e17e0ac37"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v5.31.0",
            "v5.24.1",
            "v5.14.0",
            "v4.25.22",
            "v4.25.16",
            "v5.0.4",
            "v5.0.2-beta.0",
            "v5.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90561.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:49.314853876Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90561.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-90561",
        "https://www.vulncheck.com/advisories/strapi-4-x-through-4.26.2-and-5-x-before-5.48.1-stored-xss-via-wysiwyg",
        "https://github.com/strapi/strapi/issues/26857",
        "https://github.com/strapi/strapi/commit/875752612c30f951546904a29469e51e17e0ac37",
        "https://github.com/strapi/strapi",
        "https://github.com/strapi/strapi/blob/v5.46.0/packages/core/content-manager/admin/src/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.tsx"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90561.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-90561",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 517518,
  "published_at": "2026-09-13T10:45:35.988+00:00"
}