CVE-2026-81898
largeStored XSS via Address Attribute in Concrete CMS Below 9.5.3
Concrete CMS versions below 9.5.3 fail to HTML-escape the Address attribute's country-less text formatter, allowing stored cross-site scripting in Express association views. A low-privileged user who can submit a form containing an Address attribute (which, when not required, accepts a blank country) can inject script that executes in the session of any dashboard user who opens the affected entry, because templates such as concrete/elements/express/form/view/dashboard/association.php echo the association label mask without applying h(). Successful exploitation lets the attacker perform actions with the dashboard user's privileges, potentially full site administration. The Concrete CMS security team rated it CVSS v4.0 7.5 (high), and exploitation requires user interaction plus an attacker with submission rights. No public proof of concept or observed in-the-wild exploitation is known at this time.
What to do: Upgrade Concrete CMS to version 9.5.3 or later, where the formatter escapes output. Until patched, restrict which users can submit forms containing Address attributes and review existing Express entries with Address attributes for injected script. Check dashboard access logs for suspicious activity by low-privilege submitters and invalidate sessions for admins who viewed suspect entries.
| Concrete CMS | < 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 below version 9.5.3, the Address attribute's country-less text formatter skipped HTML-escaping, enabling stored XSS in Express association views. A user able to submit an Address attribute could execute script in the session of any dashboard user who opened the affected entry. The unescaped branch was reachable because a non-required Address attribute accepted a blank country, and because several Express association templates (for example concrete/elements/express/form/view/dashboard/association.php) echoed the association label mask without applying h(). The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 7.5 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. Thanks Yonatan Drori from Tenzai for reporting.
- Weakness
- CWE-79
- Vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/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.