CVE-2026-8417: Concrete CMS CSRF in package update dashboard

CVE-2026-8417 · Severity: high · CVSS 4 · Published 2026-05-21

Concrete CMS, a popular content management system, is vulnerable to a security flaw that could allow an attacker to force an administrator to perform unauthorized package updates. By tricking a logged-in administrator into visiting a malicious link, an attacker can trigger system-level changes without the administrator's consent. This could lead to unauthorized modifications of the website's functionality or data integrity issues.

Technologies: Concrete CMS, concrete5/concrete5 (Packagist). Vendors: Concrete CMS, Packagist.

Quick answers

Is CVE-2026-8417 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-8417 being exploited in the wild.
How severe is CVE-2026-8417?
High severity, with a CVSS score of 4, published 21 May 2026.
Which products and versions are affected?
Concrete CMS <= 9.5.0, 9.5.0 and below; concrete5/concrete5 (Packagist) < 9.5.1, ECOSYSTEM:introduced=0,fixed=9.5.1.
Is there a fix for CVE-2026-8417?
Yes. concrete5/concrete5 (Packagist): upgrade to 9.5.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-8417 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-8417?
Check whether you run Concrete CMS or concrete5/concrete5 (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • concrete5/concrete5 (Packagist): upgrade to 9.5.1 or later
    composer require concrete5/concrete5:^9.5.1

Technical details

A Cross-Site Request Forgery (CSRF) vulnerability exists in Concrete CMS versions 9.5.0 and below. The `do_update()` method in `concrete/controllers/single_page/dashboard/extend/update.php` fails to validate CSRF tokens before executing `upgradeCoreData()` and `upgrade()` on a package's controller. Because the `/dashboard/extend/update/do_update/<pkgHandle>` endpoint is a state-changing GET route without token enforcement, an attacker can use cross-site navigation to force an authenticated administrator (with `canInstallPackages` permissions) to trigger an upgrade for an already installed package. This issue is resolved in version 9.5.1.

Affected products

  • Concrete CMS Concrete CMS <= 9.5.0

Identifiers

  • CVE-2026-8417
  • GHSA-jr5g-qv3g-rxxx

Timeline

  • 2026-05-21: disclosed
  • 2026-05-21: advisory
  • 2026-05-21: patched: Fixed in version 9.5.1

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.