CVE-2026-8140
Received Received - Intake
CSRF to Arbitrary Package Download in Concrete CMS

Publication date: 2026-05-21

Last updated on: 2026-05-21

Assigner: ConcreteCMS

Description
Concrete CMS 9.5.0 and below does not validate a CSRF token before processing requests to /dashboard/extend/install/download/<remoteId>. The download() method in concrete/controllers/single_page/dashboard/extend/install.php checks only the canInstallPackages() permission before fetching a remote marketplace package and writing it to the server's DIR_PACKAGES directory. Because the endpoint is a state-changing GET route with no token enforcement, an attacker who can cause an authenticated administrator to visit a crafted page can force an arbitrary marketplace package to be downloaded. In order to be vulnerable, the victim must be passing canInstallPackages() and the site must be connected to the Concrete marketplace.Β 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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-21
Last Modified
2026-05-21
Generated
2026-05-22
AI Q&A
2026-05-22
EPSS Evaluated
N/A
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
concrete_cms concrete_cms to 9.5.0 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-352 The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability affects Concrete CMS version 9.5.0 and below. It occurs because the system does not validate a CSRF (Cross-Site Request Forgery) token before processing requests to the download endpoint for marketplace packages. Specifically, the download() method only checks if the user has permission to install packages but does not enforce token validation. Because the endpoint is a state-changing GET route without token enforcement, an attacker can trick an authenticated administrator into visiting a malicious page that forces the download of an arbitrary marketplace package to the server.

To be vulnerable, the administrator must have the canInstallPackages() permission and the site must be connected to the Concrete marketplace.


How can this vulnerability impact me? :

This vulnerability can allow an attacker to force the download of arbitrary marketplace packages onto the server without proper authorization. This could lead to unauthorized code or software being installed, potentially compromising the integrity and security of the server and the CMS installation.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart