Skip to content
OpenAdvisories
Medium · 4.5 CVE-2026-125338 EUVD-2026-122884GHSA-5cwr-5jxg-pcf6

Winter CMS: Stored XSS through cached Brand Settings and Editor Settings custom styles

Published Nov 10, 2026 · Updated Nov 14, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
wintercms winter < 1.2.14 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist winter/wn-backend-module < 1.2.14 1.2.14 GHSA-5cwr-5jxg-pcf6

References