CVE-2026-32639 json
Winter: Broken access control in `Cms\Controllers\Index` allows cross-template actions and unauthorized asset uploads
published 2026-08-12 2 mo ago modified 2026-09-09 1 mo ago also EUVD-2026-66643 , GHSA-5c4f-9pq9-6c77
- cvss
- 6.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
Summary
Winter CMS is a content management system built on the Laravel PHP framework. In versions up to and including 1.2.12, the CMS section's Theme Editor AJAX handlers did not enforce per-template-type permission checks, allowing a backend user with any single CMS permission to act on template types outside their authorized scope. The CMS controller gated access to the section as a whole using OR-logic across its five permissions, but individual handlers such as onSave(), onDelete(), and onDeleteTemplates() did not verify that the user held the specific permission for the requested template type, so a user with only cms.manage_pages could craft AJAX requests to delete layouts, modify partials, or read content files. Separately, the AssetList widget was registered for any user who passed the controller gate regardless of the cms.manage_assets permission, and its onUpload() handler omitted the theme-validation call present on the other mutating handlers, permitting unauthorized file uploads into the active theme's asset directory. Exploitation requires an authenticated backend account holding at least one of the CMS Theme Editor permissions. This issue is fixed in version 1.2.13.
Patch / fix
- packagist winter/wn-cms-module 1.2.13
- wintercms winter 1.2.13
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.46% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N |
| GitHub | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | winter/wn-cms-module | <1.2.13 |
1.2.13 |
Affected products
- wintercms winter
Classification
References
- github.com /wintercms/winter/commit/164c62524e8abc153d09c6c35916278bdb746a2b
- github.com /wintercms/winter/commit/5391afa242eba3c476869035b7492e50a262c46b
-
github.com
/wintercms/winter/security/advisories/GHSA-5c4f-9pq9-6c77
web
-
github.com
/wintercms/winter/releases/tag/v1.2.13
web
-
github.com
/wintercms/winter
package
Sources
- CVE List CVE-2026-32639
- GitHub Advisory GHSA-5c4f-9pq9-6c77
- NVD CVE-2026-32639
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.