Wn cms module: Winter: Broken access control in `Cms\Controllers\Index` allows cross-template actions and unauthorized asset uploads (CVE-2026-32639)
Winter CMS versions prior to 1.2.13 have a broken access control vulnerability in the Cms\Controllers\Index controller. The system uses OR-logic across multiple permissions for access control but fails to enforce per-template-type permission checks in AJAX handlers. This allows users with any single Theme Editor permission to perform unauthorized actions on other template types, such as deleting or modifying templates outside their scope. Additionally, unauthorized users could upload files to the active theme's asset directory due to missing validation in the AssetList widget's upload handler. The issue is fixed in version 1.2.13.
AI Analysis
Technical Summary
Affected versions of Winter CMS did not enforce specific permission checks for different template types in the CMS section's AJAX handlers within the Cms\Controllers\Index controller. The controller used OR-logic across five permissions to gate access, but individual handlers like onSave(), onDelete(), and onDeleteTemplates() did not verify that the user held the permission corresponding to the requested template type. This flaw allowed backend users with any one Theme Editor permission (e.g., cms.manage_pages) to craft AJAX requests affecting other template types outside their authorized scope, including deleting layouts or modifying partials. Furthermore, the AssetList widget was registered for all users passing the controller gate regardless of cms.manage_assets permission, and its onUpload() handler lacked the validateRequestTheme() call, enabling unauthorized file uploads to the active theme's asset directory. The vulnerability requires authenticated backend access with any of the listed permissions. Winter CMS version 1.2.13 includes patches enforcing per-template-type permission checks on all Theme Editor AJAX handlers, restricts AssetList widget registration to users with cms.manage_assets permission, and adds theme validation to the onUpload() handler.
Potential Impact
An attacker with backend access and any single Theme Editor permission can perform unauthorized actions on template types outside their permission scope, such as deleting or modifying templates they should not control. They can also upload unauthorized files to the active theme's asset directory. This could lead to unauthorized content manipulation and potential introduction of malicious assets within the CMS. The vulnerability affects confidentiality and integrity of CMS content but does not impact availability.
Mitigation Recommendations
A patch is available in Winter CMS version 1.2.13 that enforces per-template-type permission checks on all Theme Editor AJAX handlers, restricts the AssetList widget to users with the cms.manage_assets permission, and adds theme validation to the onUpload() handler. Users are strongly advised to update to version 1.2.13 immediately. If upgrading is not possible, manual mitigations include adding permission checks around widget registrations in modules/cms/controllers/Index.php and adding validateRequestTheme() calls in the AssetList widget's onUpload() method as detailed in the advisory.
Wn cms module: Winter: Broken access control in `Cms\Controllers\Index` allows cross-template actions and unauthorized asset uploads (CVE-2026-32639)
Description
Winter CMS versions prior to 1.2.13 have a broken access control vulnerability in the Cms\Controllers\Index controller. The system uses OR-logic across multiple permissions for access control but fails to enforce per-template-type permission checks in AJAX handlers. This allows users with any single Theme Editor permission to perform unauthorized actions on other template types, such as deleting or modifying templates outside their scope. Additionally, unauthorized users could upload files to the active theme's asset directory due to missing validation in the AssetList widget's upload handler. The issue is fixed in version 1.2.13.
CVSS v3.1
Score 6.8medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Affected versions of Winter CMS did not enforce specific permission checks for different template types in the CMS section's AJAX handlers within the Cms\Controllers\Index controller. The controller used OR-logic across five permissions to gate access, but individual handlers like onSave(), onDelete(), and onDeleteTemplates() did not verify that the user held the permission corresponding to the requested template type. This flaw allowed backend users with any one Theme Editor permission (e.g., cms.manage_pages) to craft AJAX requests affecting other template types outside their authorized scope, including deleting layouts or modifying partials. Furthermore, the AssetList widget was registered for all users passing the controller gate regardless of cms.manage_assets permission, and its onUpload() handler lacked the validateRequestTheme() call, enabling unauthorized file uploads to the active theme's asset directory. The vulnerability requires authenticated backend access with any of the listed permissions. Winter CMS version 1.2.13 includes patches enforcing per-template-type permission checks on all Theme Editor AJAX handlers, restricts AssetList widget registration to users with cms.manage_assets permission, and adds theme validation to the onUpload() handler.
Potential Impact
An attacker with backend access and any single Theme Editor permission can perform unauthorized actions on template types outside their permission scope, such as deleting or modifying templates they should not control. They can also upload unauthorized files to the active theme's asset directory. This could lead to unauthorized content manipulation and potential introduction of malicious assets within the CMS. The vulnerability affects confidentiality and integrity of CMS content but does not impact availability.
Mitigation Recommendations
A patch is available in Winter CMS version 1.2.13 that enforces per-template-type permission checks on all Theme Editor AJAX handlers, restricts the AssetList widget to users with the cms.manage_assets permission, and adds theme validation to the onUpload() handler. Users are strongly advised to update to version 1.2.13 immediately. If upgrading is not possible, manual mitigations include adding permission checks around widget registrations in modules/cms/controllers/Index.php and adding validateRequestTheme() calls in the AssetList widget's onUpload() method as detailed in the advisory.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-5c4f-9pq9-6c77
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-32639"]
- Ecosystems
- ["Packagist"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 3.1
Threat ID: 6a7c9b2ebf8831d539cdb6d1
Added to database: 08/12/2026, 16:11:26 UTC
Last enriched: 08/12/2026, 16:22:32 UTC
Last updated: 08/12/2026, 17:39:12 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.