Description
Winter CMS is a content management system built on the Laravel PHP framework. Prior to 1.2.14, BrandSetting::renderCss() and EditorSetting::renderCss() store raw LESS compiler output with Cache::forever() but apply strip_tags() only to the value returned on a cache miss. The first render after saving custom CSS appears sanitized while priming an unsafe cache entry, and later cache hits return unsanitized output into the backend style element, allowing a user with backend.manage_branding or backend.manage_editor to cause stored cross-site scripting when another backend page renders the styles. The styles also appear on unauthenticated backend sign-in, password restore, and password reset layouts. This issue is fixed in version 1.2.14.
Published: 2026-11-10
Score: 4.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Apply Patch
AI Analysis

Impact

This flaw arises from how Winter CMS compiles user supplied LESS into CSS. The compiled output is cached without sanitization, only later being stripped when the cache is missed. An attacker who can edit brand or editor styles can inject malicious content that will be stored in the cache and later rendered in backend pages and login screens, causing stored XSS for all users who view those pages.

Affected Systems

The vulnerable product is Winter CMS from the vendor wintercms. Versions prior to 1.2.14 are affected, including all releases up to 1.2.13. The issue is fixed in release 1.2.14 and later.

Risk and Exploitability

The CVSS score of 4.5 indicates moderate severity. The EPSS score of less than 1% suggests a very low likelihood of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires a user with backend.manage_branding or backend.manage_editor authority to edit the custom CSS. The attacker crafts a payload that, when compiled by the LESS engine, becomes executable in the browser, allowing them to execute scripts in the context of the backend interface and any public area that loads those styles.

Generated by OpenCVE AI on November 12, 2026 at 01:28 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Winter CMS release 1.2.14 or later to apply the vendor fix.
  • If an upgrade is not immediately possible, delete or purge the cached brand and editor style entries so that authenticated users must re‑render and sanitize the CSS.
  • As a temporary measure, restrict or disable backend.manage_branding and backend.manage_editor permissions for untrusted users so they cannot inject custom CSS.

Generated by OpenCVE AI on November 12, 2026 at 01:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5cwr-5jxg-pcf6 Winter: Stored XSS through cached Brand Settings and Editor Settings custom styles
History

Tue, 10 Nov 2026 20:15:00 +0000

Type Values Removed Values Added
Description Winter CMS is a content management system built on the Laravel PHP framework. Prior to 1.2.14, BrandSetting::renderCss() and EditorSetting::renderCss() store raw LESS compiler output with Cache::forever() but apply strip_tags() only to the value returned on a cache miss. The first render after saving custom CSS appears sanitized while priming an unsafe cache entry, and later cache hits return unsanitized output into the backend style element, allowing a user with backend.manage_branding or backend.manage_editor to cause stored cross-site scripting when another backend page renders the styles. The styles also appear on unauthenticated backend sign-in, password restore, and password reset layouts. This issue is fixed in version 1.2.14.
Title Winter CMS: Stored XSS through cached Brand Settings and Editor Settings custom styles
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 4.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:H/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-10T20:03:19.875Z

Reserved: 2026-11-09T21:22:55.599Z

Link: CVE-2026-125338

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-10T20:19:08.263

Modified: 2026-11-10T20:19:08.263

Link: CVE-2026-125338

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-12T01:30:05Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')