Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
4DescriptionGitHub Advisory
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to version 0.31.0.0, the application fails to properly sanitize user-controlled input when creating or editing blog posts. An attacker can inject a malicious JavaScript payload into blog post content, which is then stored server-side. This stored payload is later rendered unsafely in multiple application views without proper output encoding, leading to stored cross-site scripting (XSS). This issue has been patched in version 0.31.0.0.
AnalysisAI
Stored cross-site scripting in CI4MS blog module allows authenticated attackers to inject malicious JavaScript that executes in victims' browsers across multiple application views. The vulnerability affects all versions prior to 0.31.0.0 and stems from insufficient input sanitization when creating or editing blog posts combined with unsafe output rendering. Attack requires low-privilege authentication (PR:L) but has scope change (S:C), enabling session hijacking and credential theft across user contexts. Vendor-released patch available in version 0.31.0.0. EPSS and KEV data not provided; no public exploit identified at time of analysis.
Technical ContextAI
CI4MS is a content management system skeleton built on the CodeIgniter 4 PHP framework, providing role-based access control and modular theming capabilities. The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a stored XSS variant. The affected component is cpe:2.3:a:ci4-cms-erp:ci4ms:*:*:*:*:*:*:*:* prior to version 0.31.0.0. The root cause involves a two-stage failure: first, the blog post creation/editing workflow fails to sanitize user-supplied content server-side, allowing HTML and JavaScript storage in the database; second, multiple application views render this stored content without proper output encoding or Content Security Policy restrictions, causing the malicious script to execute in end-user browsers when they view affected blog posts.
RemediationAI
Upgrade to CI4MS version 0.31.0.0 or later, which includes patches addressing the input sanitization and output encoding deficiencies. The vendor-released patch is available at https://github.com/ci4-cms-erp/ci4ms/releases/tag/0.31.0.0. Organizations should review existing blog post content for potential malicious JavaScript payloads injected prior to patching, as stored XSS persists in the database until explicitly removed. As an interim mitigation for environments where immediate patching is not feasible, restrict blog post creation and editing privileges to only highly trusted administrative users, implement Web Application Firewall rules to detect common XSS patterns in POST requests to blog endpoints, and consider deploying Content Security Policy headers to limit inline script execution. Refer to the GitHub security advisory at https://github.com/ci4-cms-erp/ci4ms/security/advisories/GHSA-x7wh-g25g-53vg for additional vendor recommendations.
CI4MS (CodeIgniter 4 CMS skeleton) has a code injection vulnerability (CVSS 9.9) allowing authenticated users to execute
Stored cross-site scripting in CI4MS backend user management allows authenticated attackers with low-level privileges to
Stored cross-site scripting in CI4MS blog category management allows authenticated users to inject malicious JavaScript
Environment file injection in CI4MS versions prior to 0.31.4.0 allows remote attackers to inject arbitrary configuration
Stored cross-site scripting in CI4MS (CodeIgniter 4 CMS) allows authenticated users with blog post management privileges
Stored cross-site scripting (XSS) in CI4MS page management functionality allows authenticated attackers to inject malici
Stored cross-site scripting (XSS) in CI4MS menu management allows authenticated users with low privileges to inject mali
Stored cross-site scripting in CI4MS menu management allows authenticated attackers to inject malicious scripts that exe
Stored blind cross-site scripting in CI4MS backup management allows authenticated attackers to inject malicious JavaScri
Stored Cross-Site Scripting in CI4MS methods management allows authenticated users to inject malicious JavaScript into a
Stored cross-site scripting in CI4MS role/group management allows authenticated attackers to inject malicious JavaScript
Blind stored XSS in CI4MS CMS log viewer allows authenticated attackers to execute JavaScript in administrator sessions
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-18082
GHSA-x7wh-g25g-53vg