{"id":"CVE-2026-33159","aliases":["GHSA-6mrr-q3pj-h53w"],"url":"https://o3.security/vulnerability/CVE-2026-33159","summary":"Craft CMS: Unauthenticated users could execute project configuration sync operations that should be restricted trusted users","details":"### Summary\nGuest users can access Config Sync updater `index`, obtain signed `data`, and execute state-changing Config Sync actions (`regenerate-yaml`, `apply-yaml-changes`) without authentication.\n\n### Details\n\n`ConfigSyncController` extends `BaseUpdaterController`, and the base updater is anonymously accessible for control panel requests.  `index` emits signed updater state (`data`), which can be reused by guests in subsequent requests.\n\nSensitive actions that are reachable via this method are `actionApplyYamlChanges`, `actionRegenerateYaml`, `applyExternalChanges`, and  `regenerateExternalConfig`.\n\n#### Reproduction steps\n\n1. Guest POST to:\n\n    http POST /admin/actions/config-sync/index\n\n  2. Extract data from returned JS state:\n\n    Craft.updater = ... setState({\"data\":\"<signedData>\", ...});\n\n  3. Reuse data as a guest:\n\n```\n  POST /admin/actions/config-sync/regenerate-yaml\n  data=<signedData>&<csrfParam>=<csrfToken>\n```\n\n  or\n\n```\n  POST /admin/actions/config-sync/apply-yaml-changes\n  data=<signedData>&<csrfParam>=<csrfToken>\n```\n\n  4. Observe completed response and state/file changes.\n\n### Impact\n\nUnauthenticated users can execute project configuration sync operations that should be restricted to trusted admin/deployment contexts.\n\nDepending on the pending YAML/config state, this can cause unauthorized config state transitions and a service integrity risk.\n\n### Resources\n\nhttps://github.com/craftcms/cms/commit/7f0ead833f7","published":"2026-03-24T17:28:37.422Z","modified":"2026-10-28T02:30:54.970714434Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Packagist","name":"craftcms/cms","fixedVersion":"5.9.14"},{"ecosystem":"Packagist","name":"craftcms/cms","fixedVersion":"4.17.8"}],"fix":{"url":"https://github.com/craftcms/cms/commit/7f0ead833f7c2b91ae12003caad833479dd08592","label":"craftcms/cms@7f0ead8"},"references":[{"type":"WEB","url":"https://github.com/craftcms/cms/releases/tag/4.17.8"},{"type":"WEB","url":"https://github.com/craftcms/cms/releases/tag/5.9.14"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33159.json"},{"type":"ADVISORY","url":"https://github.com/craftcms/cms/security/advisories/GHSA-6mrr-q3pj-h53w"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33159"},{"type":"FIX","url":"https://github.com/craftcms/cms/commit/7f0ead833f7c2b91ae12003caad833479dd08592"},{"type":"PACKAGE","url":"https://github.com/craftcms/cms"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-28T02:30:54.970714434Z"}}