What’s Vulnerable › Vulnerabilities
CVE-2026-45270: CI4MS: Stored XSS in Pages Module Content via Broken html_purify Validation Rule
- Severity: high (CVSS 8.7 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-20 · updated 2026-10-24
- Weakness: CWE-79
Description
CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the `Pages` backend module registers the `html_purify` validation rule on language-keyed page content but persists the raw, un-purified POST value into the database. The public renderer for pages (`Home::index()` → `app/Views/templates/default/pages.php`) emits `$pageInfo->content` without `esc()`, yielding stored XSS that fires for every public visitor of the affected page — including administrators. Because pages may be promoted to the site home page, the payload can be served at `/` and reach every visitor of the site. Version 0.31.9.0 patches the issue.
Affected products
- ci4-cms-erp ci4ms: before 0.31.9.0
References
- https://github.com/ci4-cms-erp/ci4ms/releases/tag/0.31.9.0
- https://github.com/ci4-cms-erp/ci4ms/security/advisories/GHSA-gqr2-7hcg-rchf
- https://github.com/ci4-cms-erp/ci4ms/security/advisories/GHSA-gqr2-7hcg-rchf
Get alerted when CVE-2026-45270 or the next vulnerability affects your stack