CVE-2026-8428

High

Description

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.

SeverityHigh
CVSS8.8
Exploit probability—
ProductConcretecms Concrete Cms
PublishedMay 21, 2026
First seenMay 21, 2026

How to fix

Update
  • concretecms concrete_cms9.5.1 or later
  • concrete5/concrete59.5.1 or later

Affected products

ProductAffected versionsFixed in
concretecms concrete_cmsv < 9.5.19.5.1
concrete5/concrete5Packagistv < 9.5.19.5.1

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.