Skip to main content

Winter CMS CVE-2026-35445

| EUVDEUVD-2026-66631 HIGH
Improper Authorization (CWE-285)
2026-08-12 https://github.com/wintercms/winter GHSA-j5jq-cr68-v2xx
7.1
CVSS 4.0 · Vendor: https://github.com/wintercms/winter
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain any backend user account
  2. Delivery
    Identify Users controller myaccount action with null permission gate
  3. Exploit
    Craft POST request with _handler set to target method
  4. Execution
    Postback dispatcher invokes privileged method without validation
  5. Persist
    Manipulate arbitrary backend user records
  6. Impact
    Escalate to administrator by resetting admin password

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an active, authenticated Winter CMS backend session-any permission level suffices, but the attacker must hold a valid CSRF token (enforced on all POST requests, meaning purely unauthenticated exploitation is not possible). The specific escalation path through the Users controller requires that controller to be configured with the default conditional $requiredPermissions = null for the myaccount action, which is present in affected versions by default and not a non-standard configuration. The broader handler-bypass vulnerability (CWE-285) affects any controller that exposes $publicActions or conditionally removes its permission check, so other attack surfaces may exist beyond the Users controller depending on installed plugins. Exploitation is limited to the backend panel; it does not extend to unauthenticated visitors of the public-facing site. The CSRF requirement limits drive-by or cross-site exploitation-the attacker must be actively logged in with a valid session cookie.

Impact

The provided CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N) reflects network-reachable exploitation by a low-privilege authenticated user, with a notable attack requirement (AT:P) acknowledging that the controller's conditional permission nullification must be in place-which it is by default in the Users controller. The high confidentiality impact (VC:H, SC:H) and scope change to subsequent systems are consistent with an attacker being able to reset arbitrary user passwords and thereby escalate to full admin access. The vendor's own advisory rates integrity impact as lower (VI:L, SI:L), but the ability to delete or unsuspend user accounts warrants reconsideration of that rating. There is no CISA KEV listing and no reported POC, making opportunistic mass exploitation unlikely; however, the low attack complexity and minimal access requirement (any backend account) make insider-threat and post-compromise lateral-privilege scenarios credible. EPSS data was not provided. Real-world priority is moderate-to-high for any Winter CMS deployment that exposes its backend panel to untrusted authenticated users or relies on its roles-and-permissions system for separation of duty.

Exploit ScenarioDerived

An attacker with any Winter CMS backend account-such as a low-privilege editor-crafts a POST request to a backend URL that loads the Users controller under the myaccount action (which carries a null permission requirement by default), and sets the _handler field to update_onDelete or update_onManualPasswordReset along with attacker-controlled parameters identifying a target user. Because the postback path does not validate the handler name, the request reaches the privileged method; the attacker can thereby delete, unsuspend, or reset the password of any backend user, including administrators, enabling full privilege escalation within the backend. No public exploit code has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Aug 26, 2026

Insufficient input validation on the _handler POST field in Winter CMS's form postback mechanism allows any authenticated backend user to invoke arbitrary controller methods-including protected and private ones-bypassing role-based permission checks. The Users controller compounded this by conditionally nullifying its $requiredPermissions for the myaccount action, enabling low-privilege backend users to call administrative methods such as update_onDelete, update_onUnsuspendUser, and update_onManualPasswordReset against any backend user record. No public exploit code or CISA KEV listing has been identified at time of analysis; exploitation is limited to users with active, authenticated backend sessions (CSRF tokens remain enforced).

Earlier versions of this analysis (1)
v1 Aug 12, 2026 - 15:36

Privilege escalation in Winter CMS backend allows any authenticated backend user-regardless of their assigned role or permissions-to invoke privileged controller methods including user deletion, restoration, unsuspension, and forced password resets by exploiting an unvalidated _handler POST field in the form postback mechanism. Versions up to and including 1.2.12 are affected across all major branches (1.0, 1.1, 1.2). No public exploit code or CISA KEV listing is identified at time of analysis, but the low skill bar for any logged-in backend user and direct impact on user account integrity make this an immediate patch priority for any deployment relying on role-based access control.

RemediationAI

Upgrade Winter CMS to v1.2.13, which is the vendor-confirmed fixed version available at https://github.com/wintercms/winter/releases/tag/v1.2.13; patches have been backported to the 1.0 and 1.1 branches as well. For installations that cannot upgrade immediately, two manual changes mitigate the vulnerability: first, in modules/backend/classes/Controller.php, add validation of the _handler POST field against the on[A-Z][\w+]* pattern before passing it to runAjaxHandler()-this closes the postback bypass at the framework level; second, in modules/backend/controllers/Users.php, remove the conditional block that sets $requiredPermissions to null for the myaccount action-this prevents the permission-nullification chain. Note that the manual workaround for the Users controller may break the My Account page for users without the backend.manage_users permission until the architectural fix (dedicated controller) from v1.2.13 is applied. The vendor advisory at https://github.com/wintercms/winter/security/advisories/GHSA-j5jq-cr68-v2xx contains additional detail on both changes.

Affected VersionsENISA

winter < 1.2.13

Affected Packages

composer winter/wn-backend-module fix: 1.2.13
euvd winter fix: 1.2.13

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Winter CMS (composer package winter/wn-backend-module, CWE-285: Improper Authorization) exposes two handler invocation paths: AJAX requests via the X_WINTER_REQUEST_HANDLER header, which enforce a regex pattern (on[A-Z][\w+]*), and form postbacks via the _handler POST field, which forwarded the value directly to the handler dispatcher without equivalent validation. This asymmetry let an attacker name any method-including prefixed, protected, or private ones-as the handler. The Users controller introduced a secondary flaw: its constructor set $requiredPermissions to null when the myaccount action was detected, removing the backend.manage_users permission gate and allowing any authenticated user to reach that controller context. Together, these two weaknesses chain into an authorization bypass on user management operations. The fix in v1.2.13 applies the same regex gate to postback handlers, relocates My Account to a dedicated controller, and adds model-level guards as defense-in-depth.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/wintercms/winter) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N
vuln.today AI 9.6 CRITICAL

Network-reachable by any authenticated backend user (PR:L); scope changes because low-privilege user gains admin-level user management control (S:C); full confidentiality and integrity impact from password reset and user deletion capabilities; no availability impact described.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N

Primary rating from Vendor (https://github.com/wintercms/winter).

CVSS VectorVendor: https://github.com/wintercms/winter

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Aug 26, 2026 - 17:23 NVD
7.1 (HIGH)
CVE Published
Aug 12, 2026 - 15:15 cve.org
HIGH

DescriptionCVE.org

Impact

Affected versions of Winter CMS did not validate the handler name submitted through the form postback mechanism (_handler POST field) in the same way as AJAX requests (X_WINTER_REQUEST_HANDLER header). The AJAX path validates that handler names match the on[A-Z][\w+]* pattern, but the postback path passed the handler name directly to the handler dispatcher with no validation.

This allowed an authenticated backend user to call any method on a controller - including action-prefixed, protected, and private methods - by submitting a crafted POST request with a _handler field, as long as the controller either:

  • Contains a publicly available action via the $publicActions property, or
  • Degrades or removes the $requiredPermissions check in its constructor based on a condition

The backend's own Users controller was affected by the second scenario: it set $requiredPermissions to null for the myaccount action, allowing any authenticated backend user to access the controller without the backend.manage_users permission. Combined with the postback bypass, this allowed calling controller methods such as update_onDelete, update_onRestore, update_onUnsuspendUser, and update_onManualPasswordReset with attacker-controlled parameters.

Note that CSRF tokens are still verified on all POST requests, so the attacker must be logged into the backend with a valid session.

To actively exploit this security issue, an attacker would need access to the Backend with a user account with any level of access.

The Winter CMS maintainers strongly recommend that all Winter CMS sites that have any reliance on the roles & permissions system to update immediately. Security fixes have been backported to all major versions of Winter (1.0, 1.1, and 1.2).

Patches

The postback handler path now validates handler names using the same rules as the AJAX path. The My Account functionality has been moved to a dedicated controller that does not expose user management methods. Defence in depth has been applied at the model level to prevent unauthorized user record modifications regardless of the entry point.

This security issue has been fixed as of v1.2.13.

Workarounds

If users cannot upgrade, they may apply the following changes to their Winter CMS installation manually to resolve this issue:

  1. In modules/backend/classes/Controller.php, validate the _handler POST field against the on[A-Z][\w+]* pattern before passing it to runAjaxHandler().
  2. In modules/backend/controllers/Users.php, remove the conditional that sets $requiredPermissions to null for the myaccount action.

Executive ViewAI

Why It Matters

Winter CMS contains a privilege escalation vulnerability affecting form postback processing that allows authenticated backend users with limited permissions to invoke administrative functions (such as user suspension and password reset) against any backend account, bypassing intended role-based access controls. Organizations running Winter CMS with multiple backend user accounts face unauthorized account management operations by lower-privileged staff, creating risk of account lockout, credential compromise, and administrative takeover without requiring separate attack infrastructure or external authentication.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Low
niche PHP CMS with limited enterprise deployment footprint
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy