Skip to content
Heist/ feed
Back to feed
Medium

Winter: SQL Injection in Backend Filter Widget numberrange Scope via numbersFromAjax

Type: advisorySources: OSV

Winter CMS is a content management system built on the Laravel PHP framework. In versions up to and including 1.2.12, the backend Filter widget is vulnerable to SQL injection through the numberrange scope type when that scope is configured with a conditions key, allowing an authenticated backend user to inject arbitrary SQL. The scope's filter values are interpolated into the conditions statement without parameter binding, so a user with access to a list view whose filter uses this scope and configuration can supply crafted input through the filter's AJAX handler and read arbitrary database contents. No built-in Winter CMS backend views use this scope type and configuration combination, so exploitation requires a third-party plugin to have registered a numberrange filter scope with a conditions key, and a vanilla installation without such plugins is not affected. This issue is fixed in version 1.2.13.

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

Source evidence

Winter: SQL Injection in Backend Filter Widget numberrange Scope via numbersFromAjax

core-osv · Original source

Published 26 Aug 2026, 17:27 UTC

Winter CMS is a content management system built on the Laravel PHP framework. In versions up to and including 1.2.12, the backend Filter widget is vulnerable to SQL injection through the numberrange scope type when that scope is configured with a conditions key, allowing an authenticated backend user to inject arbitrary SQL. The scope's filter values are interpolated into the conditions statement without parameter binding, so a user with access to a list view whose filter uses this scope and configuration can supply crafted input through the filter's AJAX handler and read arbitrary database contents. No built-in Winter CMS backend views use this scope type and configuration combination, so exploitation requires a third-party plugin to have registered a numberrange filter scope with a conditions key, and a vanilla installation without such plugins is not affected. This issue is fixed in version 1.2.13.

osv:CVE-2026-32593
Complete source record
{
  "id": "33b32621f0bdc615ff6d031f2f15cee84e9faf45470cd8fde8a24e76e2585f42",
  "url": "https://osv.dev/vulnerability/CVE-2026-32593",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Winter: SQL Injection in Backend Filter Widget numberrange Scope via numbersFromAjax",
    "summary": "Winter CMS is a content management system built on the Laravel PHP framework. In versions up to and including 1.2.12, the backend Filter widget is vulnerable to SQL injection through the numberrange scope type when that scope is configured with a conditions key, allowing an authenticated backend user to inject arbitrary SQL. The scope's filter values are interpolated into the conditions statement without parameter binding, so a user with access to a list view whose filter uses this scope and configuration can supply crafted input through the filter's AJAX handler and read arbitrary database contents. No built-in Winter CMS backend views use this scope type and configuration combination, so exploitation requires a third-party plugin to have registered a numberrange filter scope with a conditions key, and a vanilla installation without such plugins is not affected. This issue is fixed in version 1.2.13.",
    "evidence": "osv:CVE-2026-32593",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-32593",
      "aliases": [
        "CVE-2026-32593",
        "GHSA-m7jc-g4rc-jmvh"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/wintercms/winter",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "e09c8d3526f3583cb6c3476a021b885088ecd4bd"
                },
                {
                  "fixed": "50713de95adf5298536d93f4d999652525d36d43"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.2.13"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "50713de95adf5298536d93f4d999652525d36d43"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "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-32593.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:40.335840275Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32593.json",
        "https://github.com/wintercms/winter/security/advisories/GHSA-m7jc-g4rc-jmvh",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-32593",
        "https://github.com/wintercms/winter/commit/50713de95adf5298536d93f4d999652525d36d43"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-89"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32593.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-32593",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 508062,
  "published_at": "2026-08-26T17:27:07.836+00:00"
}