CVE-2026-18117
moderateStored XSS in Concrete CMS 9.x Page Alias Allows Editor-to-Admin Escalation
Concrete CMS versions 9.0.0 through 9.5.3 contain a stored cross-site scripting vulnerability (CWE-79) in the Edit Alias dialog: the submitted custom alias name (customAliasName) was only passed through trim() with no escaping or neutralization before being stored and later rendered unescaped in the administrative Sitemap panel. An authenticated attacker with canWrite (editor) permission on a page can save a malicious alias name, which then executes automatically as script in the browser of any administrator or editor who opens the Sitemap panel. Because the payload runs in a privileged administrative session, a low-privileged editor can hijack that session and effectively escalate to administrator, with high impact on confidentiality and integrity of the site (CVSS v4.0: 7.3, high). Any site running Concrete CMS 9.0.0–9.5.3 that grants editing rights to semi-trusted users is affected. No public proof of concept is known, the flaw is not on the CISA KEV list, and there is no indication of in-the-wild exploitation at this time.
What to do: Upgrade Concrete CMS to the latest 9.x release newer than 9.5.3, where the alias name is properly neutralized. Until patched, review existing page alias names in the Sitemap for injected script, and restrict canWrite/editor permissions to trusted users only, since the vulnerability requires authenticated editor-level access to plant the payload. Check web and CMS audit logs for suspicious customAliasName submissions or unexpected administrative sessions.
| Concrete CMS | 9.0.0 through 9.5.3 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Concrete CMS 9.0.0 through 9.5.3 is vulnerable to stored XSS via the custom page alias name (customAliasName) because the Edit Alias dialog applied only trim() to the submitted value and performed no input neutralization. An authenticated user holding canWrite (editor) permission on a page could store a malicious alias name that was later rendered unescaped in the administrative Sitemap panel, where it executed automatically in any administrator or editor session that opened the panel, allowing an editor to escalate to administrator through the victim's active session. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 7.3 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:P/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N. Thanks Nguyen Manh Thuan for reporting.
- Weakness
- CWE-79
- Vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:P/VC:H/VI:H/VA:L/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.