Concrete CMS does not validate a CSRF token before processing requests to `/dashboard/extend/update/prepare_remote_upgrade/<remoteMPID>`
High severity
GitHub Reviewed
Published
May 21, 2026
to the GitHub Advisory Database
•
Updated Jun 24, 2026
Description
Published by the National Vulnerability Database
May 21, 2026
Published to the GitHub Advisory Database
May 21, 2026
Reviewed
Jun 24, 2026
Last updated
Jun 24, 2026
Concrete CMS 9.5.0 and below does not validate a CSRF token before processing requests to /dashboard/extend/update/prepare_remote_upgrade/. An attacker who controls the remote package returned for a known marketplace item ID can overwrite the package PHP on disk and force its upgrade() method to execute in a single browser navigation. This results in remote code execution as the web server user. In order to be vulnerable, the victim must be passing canInstallPackages, victim site must be connected to the Concrete marketplace; and the attacker controls the package returned for a marketplace item ID already installed on the victim site. The Concrete CMS security team thanks @maru1009 for reporting this issue.
References