CVE-2026-81895
moderateStored SQL Injection in Concrete CMS Document Library Block (pre-9.5.3)
Concrete CMS versions before 9.5.3 are vulnerable to a stored, time-based blind SQL injection in the Document Library block. The block stores file-set identifiers submitted via the fsID[] field without validating them as integers, and when configured with setMode 'any' it concatenates those stored values directly into the file-set filter query instead of casting or parameter-binding them. An authenticated attacker with permission to add or edit a Document Library block can persist SQL syntax in the block configuration (btDocumentLibrary.setIds), which is then executed every time the published page is rendered, allowing the attacker to infer or manipulate database contents through time-based blind injection. The vendor rates this High severity at CVSS v4.0 8.5. No public proof of concept is known and there is no evidence of exploitation in the wild.
What to do: Upgrade Concrete CMS to version 9.5.3 or later. Until patched, restrict which authenticated users can add or edit Document Library blocks, and inspect the btDocumentLibrary table's setIds column for any non-integer values that would indicate injected payloads. Review database and page-render logs for anomalously slow queries on pages hosting Document Library blocks, which would be consistent with time-based blind injection attempts.
| Concrete CMS | before 9.5.3 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In Concrete CMS before 9.5.3, the Document Library block stored the file-set identifiers submitted through fsID[] without validating them as integers, and when the block was configured with setMode set to any it concatenated each stored identifier directly into the file-set filter query instead of casting it or binding it as a parameter. An authenticated user permitted to add or edit a Document Library block could therefore persist SQL syntax in the block configuration (btDocumentLibrary.setIds), and that stored expression was executed every time the published page containing the block was rendered, producing stored, time-based blind SQL injection. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 8.5 with vector CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. Thanks Habib Allah for reporting.
- Weakness
- CWE-89
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.