Skip to content
Heist/ feed
Back to feed
Medium

October CMS has Stored XSS via SVG Filter Bypass

Type: advisorySources: OSV

October is a Content Management System (CMS) and web platform. Versions prior to 3.7.14 and 4.1.10 contain a stored cross-site scripting (XSS) vulnerability in the SVG sanitization logic. The regex pattern used to strip event handler attributes (such as onclick or onload) could be bypassed using a crafted payload that exploits how the pattern matches attribute boundaries, allowing malicious SVG files to be uploaded through the Media Manager with embedded JavaScript. Exploitation could lead to privilege escalation if a superuser views or embeds the malicious SVG, and requires authenticated backend access with media upload permissions. The SVG must be viewed or embedded in a page for the payload to trigger. This issue has been fixed in versions 3.7.14 and 4.1.10.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-25133
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 17:15 UTC · Revision 1

Source evidence

October CMS has Stored XSS via SVG Filter Bypass

core-osv · Original source

Published 14 Apr 2026, 20:47 UTC

October is a Content Management System (CMS) and web platform. Versions prior to 3.7.14 and 4.1.10 contain a stored cross-site scripting (XSS) vulnerability in the SVG sanitization logic. The regex pattern used to strip event handler attributes (such as onclick or onload) could be bypassed using a crafted payload that exploits how the pattern matches attribute boundaries, allowing malicious SVG files to be uploaded through the Media Manager with embedded JavaScript. Exploitation could lead to privilege escalation if a superuser views or embeds the malicious SVG, and requires authenticated backend access with media upload permissions. The SVG must be viewed or embedded in a page for the payload to trigger. This issue has been fixed in versions 3.7.14 and 4.1.10.

osv:CVE-2026-25133
Complete source record
{
  "id": "718bf9dfb3de537065ebda356371207786dd59a5822bb60be236c3f32b7296c8",
  "url": "https://osv.dev/vulnerability/CVE-2026-25133",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "October CMS has Stored XSS via SVG Filter Bypass",
    "summary": "October is a Content Management System (CMS) and web platform. Versions prior to 3.7.14 and 4.1.10 contain a stored cross-site scripting (XSS) vulnerability in the SVG sanitization logic. The regex pattern used to strip event handler attributes (such as onclick or onload) could be bypassed using a crafted payload that exploits how the pattern matches attribute boundaries, allowing malicious SVG files to be uploaded through the Media Manager with embedded JavaScript. Exploitation could lead to privilege escalation if a superuser views or embeds the malicious SVG, and requires authenticated backend access with media upload permissions. The SVG must be viewed or embedded in a page for the payload to trigger. This issue has been fixed in versions 3.7.14 and 4.1.10.",
    "evidence": "osv:CVE-2026-25133",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-25133",
      "aliases": [
        "CVE-2026-25133",
        "GHSA-gcqv-f29m-67gr"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/octobercms/october",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "6130d6d694f535340b2c58db29702cbcd6eb29a4"
                },
                {
                  "introduced": "306557b3f5aeca2ad4c52f7c012a492e079fd1ec"
                },
                {
                  "last_affected": "fd412d9862c950f7c24ba7cefc2331546ff31263"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:octobercms:october:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "3.7.13"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:octobercms:october:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "4.0.0"
                      },
                      {
                        "last_affected": "4.1.9"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.1.9",
            "v3.7.13",
            "v4.1.8",
            "v4.1.7",
            "v4.1.5",
            "v4.1.4",
            "v4.1.0",
            "v4.0.21",
            "v4.0.19",
            "v4.0.18",
            "v4.0.15",
            "v4.0.3",
            "v4.0.2",
            "v4.0.0",
            "v3.7.10",
            "v3.7.3",
            "v3.7.0",
            "v3.6.4",
            "v3.6.1",
            "v3.6.0",
            "v3.5.8",
            "v3.5.7",
            "v3.5.4",
            "v3.5.2",
            "v3.5.1",
            "v3.5.0",
            "v3.4.14",
            "v3.4.10",
            "v3.4.9",
            "v3.4.6",
            "v3.4.1",
            "v3.4.0",
            "v3.3.11",
            "v3.3.9",
            "v3.3.7",
            "v3.3.3",
            "v3.3.0",
            "v3.2.11",
            "v3.2.0",
            "v3.1.26",
            "v3.1.22",
            "v3.1.14",
            "v3.1.12",
            "v3.1.1",
            "v3.1.0",
            "v3.0.74",
            "v3.0.62",
            "v3.0.61",
            "v3.0.56",
            "v3.0.46",
            "v3.0.45",
            "v3.0.42",
            "v3.0.40",
            "v3.0.22",
            "v3.0.17",
            "v3.0.10",
            "v3.0.9",
            "v3.0.7",
            "v3.0.6",
            "v3.0.2",
            "v3.0.0",
            "v2.1.26",
            "v2.1.25",
            "v2.1.24",
            "v2.1.23",
            "v2.1.22",
            "v2.1.21",
            "v2.1.20",
            "v2.1.16",
            "v2.1.12",
            "v2.1.10",
            "v2.1.8",
            "v2.1.6",
            "v2.1.5",
            "v2.1.3",
            "v2.1.0",
            "v2.0.29",
            "v2.0.27",
            "v2.0.16",
            "v2.0.15",
            "v2.0.14",
            "v2.0.13",
            "v2.0.10",
            "v2.0.3",
            "v2.0.0",
            "v1.1.4",
            "v1.1.3",
            "v1.1.2",
            "v1.1.1",
            "v1.1.0",
            "v1.0.468",
            "v1.0.467",
            "v1.0.466",
            "v1.0.464",
            "v1.0.463",
            "v1.0.462",
            "v1.0.461",
            "v1.0.460",
            "v1.0.459",
            "v1.0.458",
            "v1.0.457",
            "v1.0.455",
            "v1.0.456",
            "v1.0.454",
            "v1.0.453",
            "v1.0.452",
            "v1.0.447",
            "v1.0.451",
            "v1.0.450",
            "v1.0.449",
            "v1.0.448",
            "v1.0.446",
            "v1.0.445",
            "v1.0.444",
            "v1.0.443",
            "v1.0.442",
            "v1.0.441",
            "v1.0.440",
            "v1.0.439",
            "v1.0.438",
            "v1.0.437",
            "v1.0.436",
            "v1.0.434",
            "v1.0.433",
            "v1.0.432",
            "v1.0.431",
            "v1.0.430",
            "v1.0.429",
            "v1.0.428",
            "v1.0.427",
            "v1.0.426",
            "v1.0.425",
            "v1.0.424",
            "v1.0.423",
            "v1.0.422",
            "v1.0.421",
            "v1.0.419",
            "v1.0.420",
            "v1.0.415",
            "v1.0.418",
            "v1.0.417",
            "v1.0.416",
            "v1.0.414",
            "v1.0.413",
            "v1.0.411",
            "v1.0.412",
            "v1.0.410",
            "v1.0.409",
            "v1.0.408",
            "v1.0.407",
            "v1.0.406",
            "v1.0.405",
            "v1.0.404",
            "v1.0.396",
            "v1.0.403",
            "v1.0.402",
            "v1.0.401",
            "v1.0.400",
            "v1.0.399",
            "v1.0.398",
            "v1.0.397",
            "v1.0.395",
            "v1.0.394",
            "v1.0.393",
            "v1.0.392",
            "v1.0.391",
            "v1.0.390",
            "v1.0.389",
            "v1.0.388",
            "v1.0.387",
            "v1.0.386",
            "v1.0.385",
            "v1.0.384",
            "v1.0.383",
            "v1.0.382",
            "v1.0.381",
            "v1.0.380",
            "v1.0.379",
            "v1.0.378",
            "v1.0.377",
            "v1.0.376",
            "v1.0.375",
            "v1.0.374",
            "v1.0.373",
            "v1.0.372",
            "v1.0.371",
            "v1.0.370",
            "v1.0.367",
            "v1.0.366",
            "v1.0.365",
            "v1.0.364",
            "v1.0.363",
            "v1.0.362",
            "v1.0.361",
            "v1.0.360",
            "v1.0.359",
            "v1.0.358",
            "v1.0.356",
            "v1.0.355",
            "v1.0.354",
            "v1.0.353",
            "v1.0.352",
            "v1.0.351",
            "v1.0.346",
            "v1.0.345",
            "v1.0.344",
            "v1.0.343",
            "v1.0.342",
            "v1.0.341",
            "v1.0.340",
            "v1.0.338",
            "v1.0.334",
            "v1.0.333",
            "v1.0.331",
            "v1.0.330",
            "v1.0.329",
            "v1.0.328",
            "v1.0.327",
            "v1.0.326",
            "v1.0.325",
            "v1.0.324",
            "v1.0.323",
            "v1.0.322",
            "v1.0.321",
            "v1.0.320",
            "v1.0.319"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25133.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.017222796Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25133.json",
        "https://github.com/octobercms/october/security/advisories/GHSA-gcqv-f29m-67gr",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-25133"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "fixed": "3.7.14"
                  },
                  {
                    "introduced": "4.0.0"
                  },
                  {
                    "fixed": "4.1.10"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StringRangeExpression"
              }
            ]
          },
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "fixed": "3.7.14"
                  },
                  {
                    "fixed": "3.7.14"
                  }
                ],
                "source": "DESCRIPTION"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25133.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-25133",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 505221,
  "published_at": "2026-04-14T20:47:49.474+00:00"
}