Vulnerability Description
CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the custom `html_purify` validation rule used to sanitize blog post bodies relies on by-reference mutation (`?string &$str`), but CodeIgniter 4's validator passes a local copy of the value, so the sanitized text is silently discarded. The Blog controller writes `$lanData['content']` directly into `blog_langs.content`, and the public template echoes it without escaping — yielding stored XSS executable in any visitor's browser, including the superadmin when previewing or editing posts. Version 0.31.9.0 patches the issue.
CVSS Score
MEDIUM
Related Weaknesses (CWE)
References
- https://github.com/ci4-cms-erp/ci4ms/releases/tag/0.31.9.0
- https://github.com/ci4-cms-erp/ci4ms/security/advisories/GHSA-2m69-jmvh-6chr
- https://github.com/ci4-cms-erp/ci4ms/security/advisories/GHSA-2m69-jmvh-6chr
FAQ
What is CVE-2026-45138?
CVE-2026-45138 is a vulnerability with a CVSS score of 5.4 (MEDIUM). CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the custom `html_purify` validation rule used to sanitize blog post bodies relies on by-reference mutation...
How severe is CVE-2026-45138?
CVE-2026-45138 has been rated MEDIUM with a CVSS base score of 5.4/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-45138?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.