Skip to main content

Concrete CMS CVE-2026-8135

| EUVDEUVD-2026-31336 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-05-21 ConcreteCMS GHSA-pv2v-6w2v-97x6
8.9
CVSS 4.0 · Vendor: ConcreteCMS
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate as block-editing admin
  2. Delivery
    Send crafted REST API request with JSON `_fromCIF:true`
  3. Exploit
    Bypass strict deserialization guard
  4. Install
    Store serialized gadget in filterFields column
  5. C2
    Victim admin views or edits block
  6. Execute
    unserialize() instantiates gadget chain
  7. Impact
    Arbitrary PHP execution and server takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated Concrete CMS administrator account with permission to add or modify blocks in an area, reachability of the REST API endpoint that routes to the ExpressEntryList block controller, and a second administrator who subsequently views or edits the malicious block to trigger the unserialize() sink. Limiting factors are significant: PR:H means the attacker is already privileged, AC:H reflects the non-obvious JSON-vs-form parser bypass, AT:P captures the dependency on a victim administrator interacting with the planted block, and the target must be running Concrete CMS 9.5.0 or earlier with the REST API enabled. Single-administrator deployments do not satisfy the secondary-admin trigger condition under realistic conditions.

Impact

The CVSS v4.0 score of 8.9 reflects the severe technical impact (VC/VI/VA all High, plus subsequent-system High across the board) tempered by meaningful exploitation barriers: AC:H (high attack complexity), AT:P (present attack requirements such as a second admin triggering deserialization), and PR:H (the attacker must already hold administrator privileges with block-creation rights). There is no EPSS data, no CISA KEV listing, and no SSVC decision provided, and no public exploit identified at time of analysis - so this is not a mass-exploitation candidate. Real-world risk is concentrated in multi-tenant or delegated-admin deployments where a lower-trust admin role could pivot to host compromise; in single-admin installations the practical risk is lower because the attacker would already be at the highest application tier. The PR:H prerequisite and the requirement that another admin later view/edit the malicious block are concrete limiters that defenders should weight against the raw 8.9 score.

Exploit ScenarioDerived

A rogue or compromised low-trust administrator on a multi-admin Concrete CMS site issues a crafted REST API request to create or update an ExpressEntryList block, embedding "_fromCIF": true in JSON so the strict-identity guard passes, and stores a serialized PHP gadget chain in filterFields. When a higher-privileged administrator later opens the affected page or edits the block, the payload is deserialized server-side and executes arbitrary PHP code under the web server account, yielding full host takeover. No public exploit identified at time of analysis, but the bypass mechanic is fully described in the advisory and is straightforward to reproduce.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 21, 2026

Remote code execution in Concrete CMS versions 5.0 through 9.5.0 allows a high-privileged administrator to bypass the platform's _fromCIF deserialization guard by submitting malicious payloads through the REST API instead of standard form POST requests. The flaw resides in the ExpressEntryList block controller (CWE-502) and stores a serialized PHP gadget in the filterFields database column, which is unmarshalled when another administrator subsequently views or edits the block, leading to full server takeover. No public exploit identified at time of analysis, and the issue is not present in CISA KEV.

RemediationAI

Upgrade to Concrete CMS 9.5.1 or later, which is the vendor-released patch referenced in the 9.5.1 release notes at https://documentation.concretecms.org/9-x/developers/introduction/version-history/951-release-notes. Until the upgrade can be applied, restrict the administrator role so that only fully trusted personnel hold block-management privileges on Express-related areas, audit existing ExpressEntryList blocks for unexpected serialized content in the filterFields column, and block external network access to the REST API endpoints used to add or modify blocks (this will break programmatic content automation that relies on the REST surface, so coordinate with integration owners). Where feasible, place the admin interface behind an IP allowlist or VPN to reduce exposure of the REST API to additional administrators on untrusted networks.

Affected VersionsENISA

Concrete CMS 5.0 ≤9.5.0

Affected Packages

composer concrete5/concrete5 fix: 9.5.1
euvd concrete_cms no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Concrete CMS is an open-source PHP-based content management system. The vulnerability lives in the ExpressEntryList block controller, which historically distinguishes between trusted internal flows and untrusted form POST requests via a _fromCIF === true check before unserializing block configuration data. When the same controller is reached through the REST API, request bodies are parsed with json_decode() rather than PHP's form parser, so the JSON literal true is decoded as a strict PHP boolean and satisfies the strict identity comparison - effectively neutralizing the protection. The attacker-controlled payload is written to the filterFields column and later passed to PHP unserialize(), the canonical CWE-502 sink, allowing arbitrary object instantiation and gadget-chain-driven code execution. Affected CPE is cpe:2.3:a:concrete_cms:concrete_cms:* for all versions at or below 9.5.0.

Know when Concrete Cms gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (ConcreteCMS) PRIMARY 8.9 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (ConcreteCMS) · only source for this CVE.

CVSS VectorVendor: ConcreteCMS

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

DescriptionCVE.org

Concrete CMS 9.5.0 and below is vulnerable to Remote Code Execution due to insecure deserialization occurring in the ExpressEntryList block controller. An rogue administrator with privileges to add blocks to an area can bypass the intended protection mechanism (_fromCIF === true), which normally restricts malicious inputs over form POST requests, by leveraging the REST API functionality. Because the REST API parses requests using json_decode(), the string "true" is evaluated as a strict PHP Boolean(true).  This bypass allows the attacker to inject a malicious serialized payload  into the block's filterFields database column. The payload will subsequently be executed when the block's data is viewed or edited by an administrator leading to complete server takeover (RCE).The Concrete CMS security team gave this vulnerability a CVSS v.4.0 score of 8.9 with a vector of CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H.  Thanks Nguyễn Văn Thiện https://github.com/Thien225409  for reporting

Executive ViewAI

Why It Matters

Concrete CMS versions 5.0 through 9.5.0 contain a remote code execution vulnerability (CVSS 8.9) that could lead to full server compromise when exploited through REST API submissions. The vulnerability requires administrative-level access to initiate but results in complete system control if successfully exploited. No vendor patch currently exists, creating immediate operational risk for affected deployments.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) enforce strict administrative access controls with multi-factor authentication; (2) disable REST API endpoints if operationally feasible; (3) implement network segmentation isolating Concrete CMS from critical systems; (4) deploy Web Application Firewall rules to block deserialization payloads targeting ExpressEntryList block endpoints; (5) establish real-time monitoring and alerting on administrative account activity and suspicious API requests; (6) maintain recent backups isolated from production environment.

Threat Intelligence Overview

EPSS Score
0.1%
Top 69% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2026-18110 HIGH POC
8.7 Sep 15

Unauthenticated user enumeration in Concrete CMS 9.0.0 through 9.5.2 allows any anonymous visitor to dump the complete b

CVE-2021-22968 HIGH POC
7.2 Nov 19

A bypass of adding remote files in Concrete CMS (previously concrete5) File Manager leads to remote code execution in Co

CVE-2021-36766 HIGH POC
7.2 Jul 30

Concrete5 through 8.5.5 deserializes Untrusted Data. Rated high severity (CVSS 7.2), this vulnerability is remotely expl

CVE-2020-24986 HIGH POC
7.2 Sep 04

Concrete5 up to and including 8.5.2 allows Unrestricted Upload of File with Dangerous Type such as a .php file via File

CVE-2020-11476 HIGH POC
7.2 Jul 28

Concrete5 before 8.5.3 allows Unrestricted Upload of File with Dangerous Type such as a .phar file. Rated high severity

CVE-2018-13790 HIGH POC
7.2 Jul 09

A Server Side Request Forgery (SSRF) vulnerability in tools/files/importers/remote.php in concrete5 8.2.0 can lead to at

CVE-2026-6826 MEDIUM POC
6.9 May 21

Unauthenticated file usage disclosure in Concrete CMS 9.5.0 and below exposes internal page structure to any network-acc

CVE-2017-7725 MEDIUM POC
6.1 Apr 13

concrete5 8.1.0 places incorrect trust in the HTTP Host header during caching, if the administrator did not define a "ca

CVE-2026-2994 MEDIUM POC
6.8 Mar 04

Concrete CMS versions below 9.4.8 contain a cross-site request forgery vulnerability in the Anti-Spam Allowlist Group Co

CVE-2017-8082 MEDIUM POC
6.5 Apr 24

concrete5 8.1.0 has CSRF in Thumbnail Editor in the File Manager, which allows remote attackers to disable the entire in

CVE-2026-8237 MEDIUM POC
6.3 May 21

Unauthenticated information disclosure in Concrete CMS 9.5.0 and earlier allows remote attackers to enumerate all conver

CVE-2026-8236 MEDIUM POC
6.3 May 21

Unauthenticated information disclosure in Concrete CMS 9.5.0 and below allows any network-accessible attacker to enumera

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy