CVE-2026-33159
PHP vulnerability analysis and mitigation

Overview

CVE-2026-33159 is a missing authentication and authorization vulnerability in Craft CMS that allows unauthenticated users to execute restricted project configuration sync operations. Disclosed on March 24, 2026, it affects Craft CMS versions >= 4.0.0-RC1 through <= 4.17.7 and >= 5.0.0-RC1 through <= 5.9.13. The vulnerability carries a CVSS v3.1 base score of 6.5 (Medium) and a CVSS v4.0 base score of 6.9 (Medium) (Github Advisory, Craft CMS Advisory).

Technical details

The root cause lies in ConfigSyncController extending BaseUpdaterController, where the base updater controller is anonymously accessible for control panel requests (CWE-306: Missing Authentication for Critical Function; CWE-862: Missing Authorization). The index action emits signed updater state data that can be captured by an unauthenticated guest and reused in subsequent requests to trigger sensitive actions including actionApplyYamlChanges, actionRegenerateYaml, applyExternalChanges, and regenerateExternalConfig. No special preconditions are required — the attack is network-accessible, requires no privileges, and involves no user interaction. The fix added $allowAnonymous = self::ALLOW_ANONYMOUS_NEVER and a beforeAction() method enforcing requireAdmin() in ConfigSyncController (Craft CMS Advisory, Fix Commit).

Impact

Successful exploitation allows unauthenticated remote attackers to trigger project configuration synchronization operations — specifically YAML regeneration and application of pending YAML config changes — without any credentials. This can result in unauthorized configuration state transitions, potential exposure of sensitive configuration data embedded in signed state responses, and degradation of service integrity if malicious or unintended config states are applied. While availability is not directly impacted, the integrity of the CMS configuration and potentially the confidentiality of configuration details are at risk (Github Advisory).

Exploitability

No public proof-of-concept exploit code has been identified, and there is no evidence of active in-the-wild exploitation at this time. The EPSS score is approximately 0.106% (0.001060), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported (Github Advisory).

Exploitation steps

  1. Reconnaissance: Identify internet-facing Craft CMS instances running versions 4.0.0-RC1 through 4.17.7 or 5.0.0-RC1 through 5.9.13 using tools like Shodan or Censys, or by inspecting HTTP response headers and page metadata.
  2. Access the Config Sync index: As an unauthenticated guest, send an HTTP POST request to /admin/actions/config-sync/index to retrieve the updater state response.
  3. Extract signed state data: Parse the JavaScript response body for the Craft.updater state object and extract the data field (signed updater state token).
  4. Trigger restricted actions: Reuse the extracted data value in subsequent unauthenticated POST requests to sensitive endpoints such as:
    • POST /admin/actions/config-sync/regenerate-yaml with body data=<extracted_value>
    • POST /admin/actions/config-sync/apply-yaml-changes with body data=<extracted_value>
  5. Observe impact: Confirm that the server responds with a completed state, indicating that YAML regeneration or config application has been executed without authentication, potentially altering the CMS project configuration (Craft CMS Advisory).

Indicators of compromise

  • Network: Unexpected unauthenticated POST requests to /admin/actions/config-sync/index, /admin/actions/config-sync/regenerate-yaml, or /admin/actions/config-sync/apply-yaml-changes from external or unknown IP addresses.
  • Logs: Web server access logs showing POST requests to the above config-sync endpoints without a valid authenticated session cookie; repeated access from the same IP in short succession.
  • File System: Unexpected modifications to YAML project config files (typically under config/project/) with timestamps not corresponding to known admin activity.
  • Application: Craft CMS application logs indicating config sync operations (YAML regeneration or application) completed outside of scheduled deployment windows or without corresponding admin user activity.

Mitigation and workarounds

Craft CMS has released patched versions addressing this vulnerability: 4.17.8 for the 4.x branch and 5.9.14 for the 5.x branch. Upgrading to these versions is the primary recommended remediation, as the fix enforces admin authentication on all ConfigSyncController actions. As an interim workaround, network-level controls (e.g., WAF rules or firewall policies) should be used to restrict access to /admin/actions/config-sync/* endpoints from untrusted sources. Administrators should also audit YAML project config files for unauthorized changes that may have occurred prior to patching (Release 4.17.8, Release 5.9.14, Fix Commit).

Community reactions

The vulnerability was reported by researcher GCXWLP and published by the Craft CMS maintainer (angrybrad) via GitHub Security Advisories on March 24, 2026. The fix was committed by Brandon Kelly (Craft CMS lead developer) and included in the same-day patch releases. Social media activity was limited, with brief mentions on Bluesky and automated vulnerability tracking platforms shortly after disclosure (Craft CMS Advisory).

Additional resources


SourceThis report was generated using AI

Related PHP vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-47156CRITICAL9.3
  • PHP logoPHP
  • mantisbt/mantisbt
NoYesSep 09, 2026
CVE-2026-85400HIGH7.5
  • PHP logoPHP
  • cpe:2.3:a:typo3:typo3
NoYesSep 08, 2026
CVE-2026-53637MEDIUM6.5
  • PHP logoPHP
  • sylius/sylius
NoYesSep 08, 2026
CVE-2026-53639MEDIUM6.3
  • PHP logoPHP
  • sylius/sylius
NoYesSep 08, 2026
CVE-2026-53638MEDIUM4.3
  • PHP logoPHP
  • sylius/sylius
NoYesSep 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management