CVE-2026-8428
Concrete CMS 9.5.0 and below emits a CSRF token in the local_available_update.php view ($token->output('do_update')) but the corresponding do_update() method in concrete/controllers/single_page/dashboard/system/update/update.php never calls $this->token->validate('do_update'). The form is rendered as a POST form, meaning the token reaches the browser, but because the controller discards it without verification, an attacker can craft a cross-site POST that triggers a core CMS update to an attacker-specified version string.  In order to be vulnerable, theictim must be passing canUpgrade()anda valid update version must be present under DIR_CORE_UPDATES. The Concrete CMS security team gave this vulnerability a CVSS v.4.0 score of 7.5 with vector CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. Thanks https://github.com/maru1009 for reporting.
- Affected products
- Concrete Cms
- Concretecms Concrete Cms
- < 9.5.1
- Fix
- Available
- CVSS 3.1
- 8.8 HIGH
- EPSS
- 0.1% (3th percentile)
- Weakness
- CWE-352, CWE-829
- NVD status
- Analyzed
- Published
- 2026-05-21
- Attack patterns
- CAPEC-186
- Entry point
- version request body
- Path
- /concrete/controllers/single_page/dashboard/system/update/update.php
No indexed exploits for CVE-2026-8428 yet
Our index is partial: it proves presence, never absence
No exploit for CVE-2026-8428 has been indexed yet. Our index is built from live traffic and upstream syncs, so this page can only say what it knows — not that no exploit exists.