CVE-2023-37269
Winter CMS vulnerable to stored XSS through privileged upload of SVG file
Winter is a free, open-source content management system (CMS) based on the Laravel PHP framework. Users with the backend.manage_branding permission can upload SVGs as the application logo. Prior to version 1.2.3, SVG uploads were not sanitized, which could have allowed a stored cross-site scripting (XSS) attack. To exploit the vulnerability, an attacker would already need to have developer or super user level permissions in Winter CMS. This means they would already have extensive access and control within the system. Additionally, to execute the XSS, the attacker would need to convince the victim to directly visit the URL of the maliciously uploaded SVG, and the application would have to be using local storage where uploaded files are served under the same domain as the application itself instead of a CDN. This is because all SVGs in Winter CMS are rendered through an img tag, which prevents any payloads from being executed directly. These two factors significantly limit the potential harm of this vulnerability. This issue has been patched in v1.2.3 through the inclusion of full support for SVG uploads and automatic sanitization of uploaded SVG files. As a workaround, one may apply the patches manually.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- High
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
2.0
Winter CMS vulnerable to stored XSS through privileged upload of SVG file
Winter is a free, open-source content management system (CMS) based on the Laravel PHP framework. Users with the backend.manage_branding permission can upload SVGs as the application logo. Prior to version 1.2.3, SVG uploads were not sanitized, which could have allowed a stored cross-site scripting (XSS) attack. To exploit the vulnerability, an attacker would already need to have developer or super user level permissions in Winter CMS. This means they would already have extensive access and control within the system. Additionally, to execute the XSS, the attacker would need to convince the victim to directly visit the URL of the maliciously uploaded SVG, and the application would have to be using local storage where uploaded files are served under the same domain as the application itself instead of a CDN. This is because all SVGs in Winter CMS are rendered through an img tag, which prevents any payloads from being executed directly. These two factors significantly limit the potential harm of this vulnerability. This issue has been patched in v1.2.3 through the inclusion of full support for SVG uploads and automatic sanitization of uploaded SVG files. As a workaround, one may apply the patches manually.
- Record
CVE-2023-37269- CVSS 3.1
- 2.0 Low
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2023-2167
2.0
Winter is a free, open-source content management system (CMS) based on the Laravel PHP framework. Users with the backend.manage_branding permission can upload SVGs as the application logo. Prior to version 1.2.3, SVG uploads were not sanitized, which could have allowed a stored cross-site scripting (XSS) attack. To exploit the vulnerability, an attacker would already need to have developer or super user level permissions in Winter CMS. This means they would already have extensive access and control within the system. Additionally, to execute the XSS, the attacker would need to convince the victim to directly visit the URL of the maliciously uploaded SVG, and the application would have to be using local storage where uploaded files are served under the same domain as the application itself instead of a CDN. This is because all SVGs in Winter CMS are rendered through an img tag, which prevents any payloads from being executed directly. These two factors significantly limit the potential harm of this vulnerability. This issue has been patched in v1.2.3 through the inclusion of full support for SVG uploads and automatic sanitization of uploaded SVG files. As a workaround, one may apply the patches manually.
- Record
EUVD-2023-2167- CVSS 3.1
- 2.0 Low
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-wjw2-4j7j-6gc3
2.0
Winter CMS stored XSS through privileged upload of SVG file
Impact
Users with the backend.manage_branding permission can upload SVGs as the application logo. Previously, SVG uploads were not sanitized, which could have allowed a stored XSS attack.
Although this was a security issue, it's important to note that its severity is low. To exploit the vulnerability, an attacker would already need to have developer or super user level permissions in Winter CMS. This means they would already have extensive access and control within the system. Additionally, to execute the XSS, the attacker would need to convince the victim to directly visit the URL of the maliciously uploaded SVG, and the application would have to be using local storage where uploaded files are served under the same domain as the application itself instead of a CDN. This is because all SVGs in Winter CMS are rendered through an img tag, which prevents any payloads from being executed directly.
These two factors significantly limit the potential harm of this vulnerability. That being said, all users are advised to update to the latest version (1.2.3) to ensure their systems remain secure.
Patches
This issue has been patched in v1.2.3 through the inclusion of full support for SVG uploads and automatic sanitization of uploaded SVG files.
Workarounds
Apply https://github.com/wintercms/storm/commit/186d85d8fea2cae43afc807d39f68553c24e56be & https://github.com/wintercms/winter/commit/fa50b4c7489b67ea80072f8ac9fe5294fce1df1c manually if unable to upgrade to v1.2.3.
- Record
GHSA-wjw2-4j7j-6gc3- CVSS 3.1
- 2.0 Low
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
NVD
2.0
Winter is a free, open-source content management system (CMS) based on the Laravel PHP framework. Users with the backend.manage_branding permission can upload SVGs as the application logo. Prior to version 1.2.3, SVG uploads were not sanitized, which could have allowed a stored cross-site scripting (XSS) attack. To exploit the vulnerability, an attacker would already need to have developer or super user level permissions in Winter CMS. This means they would already have extensive access and control within the system. Additionally, to execute the XSS, the attacker would need to convince the victim to directly visit the URL of the maliciously uploaded SVG, and the application would have to be using local storage where uploaded files are served under the same domain as the application itself instead of a CDN. This is because all SVGs in Winter CMS are rendered through an img tag, which prevents any payloads from being executed directly. These two factors significantly limit the potential harm of this vulnerability. This issue has been patched in v1.2.3 through the inclusion of full support for SVG uploads and automatic sanitization of uploaded SVG files. As a workaround, one may apply the patches manually.
- Record
CVE-2023-37269- CVSS 3.1
- 2.0 Low
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N - CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
2.0
Winter CMS vulnerable to stored XSS through privileged upload of SVG file
Winter is a free, open-source content management system (CMS) based on the Laravel PHP framework. Users with the backend.manage_branding permission can upload SVGs as the application logo. Prior to version 1.2.3, SVG uploads were not sanitized, which could have allowed a stored cross-site scripting (XSS) attack. To exploit the vulnerability, an attacker would already need to have developer or super user level permissions in Winter CMS. This means they would already have extensive access and control within the system. Additionally, to execute the XSS, the attacker would need to convince the victim to directly visit the URL of the maliciously uploaded SVG, and the application would have to be using local storage where uploaded files are served under the same domain as the application itself instead of a CDN. This is because all SVGs in Winter CMS are rendered through an img tag, which prevents any payloads from being executed directly. These two factors significantly limit the potential harm of this vulnerability. This issue has been patched in v1.2.3 through the inclusion of full support for SVG uploads and automatic sanitization of uploaded SVG files. As a workaround, one may apply the patches manually.
- Record
CVE-2023-37269- CVSS 3.1
- 2.0 Low
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVGHSA-wjw2-4j7j-6gc3
2.0
Winter CMS stored XSS through privileged upload of SVG file
Impact
Users with the backend.manage_branding permission can upload SVGs as the application logo. Previously, SVG uploads were not sanitized, which could have allowed a stored XSS attack.
Although this was a security issue, it's important to note that its severity is low. To exploit the vulnerability, an attacker would already need to have developer or super user level permissions in Winter CMS. This means they would already have extensive access and control within the system. Additionally, to execute the XSS, the attacker would need to convince the victim to directly visit the URL of the maliciously uploaded SVG, and the application would have to be using local storage where uploaded files are served under the same domain as the application itself instead of a CDN. This is because all SVGs in Winter CMS are rendered through an img tag, which prevents any payloads from being executed directly.
These two factors significantly limit the potential harm of this vulnerability. That being said, all users are advised to update to the latest version (1.2.3) to ensure their systems remain secure.
Patches
This issue has been patched in v1.2.3 through the inclusion of full support for SVG uploads and automatic sanitization of uploaded SVG files.
Workarounds
Apply https://github.com/wintercms/storm/commit/186d85d8fea2cae43afc807d39f68553c24e56be & https://github.com/wintercms/winter/commit/fa50b4c7489b67ea80072f8ac9fe5294fce1df1c manually if unable to upgrade to v1.2.3.
- Record
GHSA-wjw2-4j7j-6gc3- CVSS 3.1
- 2.0 Low
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
wintercms/winterPackagist |
before 1.2.3 | 1.2.3 |
wintercms/winterPackagist |
before 1.2.3, plus listed versions v1.0.319v1.0.320v1.0.321v1.0.322v1.0.323 Show 45 moreShow lessv1.0.324v1.0.325v1.0.326v1.0.327v1.0.328v1.0.329v1.0.330v1.0.331v1.0.332v1.0.333v1.0.334v1.0.335v1.0.336v1.0.337v1.0.338v1.0.339v1.0.340v1.0.341v1.0.342v1.0.343v1.0.344v1.0.345v1.0.346v1.0.347v1.0.348v1.0.349v1.0.350v1.0.351v1.0.352v1.0.353v1.0.354v1.0.355v1.0.356v1.0.357v1.0.358v1.0.359v1.0.360v1.0.361v1.0.362v1.0.363v1.0.364v1.0.365v1.0.366v1.0.367v1.0.368 |
1.2.3 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Exploit-DB | WinterCMS < 1.2.3 - Persistent Cross-Site Scripting | 2023-07-15 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, Exploit-DB, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-37269 is a low vulnerability (CVSS 2.0) in Wintercms Winter, published July 7, 2023. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 2.70%, the 86th percentile. Fixed in wintercms/winter 1.2.3.
References
github.com/wintercms/winter/security/advisories/GHSA-wjw2-4j7j-6gc3
github.com/wintercms/storm/commit/186d85d8fea2cae43afc807d39f68553c24e56be
github.com/wintercms/winter/commit/fa50b4c7489b67ea80072f8ac9fe5294fce1df1c
github.com/wintercms/winter/releases/tag/v1.2.3
packetstormsecurity.com/files/173520/WinterCMS-1.2.2-Cross-Site-Scripting.html
nvd.nist.gov/vuln/detail/CVE-2023-37269
github.com/advisories/GHSA-wjw2-4j7j-6gc3
github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37269.json
github.com/wintercms/winter
Left out here: 125 versions. The JSON record has them.