CVE-2026-8140
Analyzed Analyzed - Analysis Complete
CSRF to Arbitrary Package Download in Concrete CMS

Publication date: 2026-05-21

Last updated on: 2026-05-26

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-26
Generated
2026-06-11
AI Q&A
2026-05-22
EPSS Evaluated
2026-06-10
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
concretecms 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 Quick Actions
Instant insights powered by AI
Executive Summary

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.

Impact Analysis

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.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-8140. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart