Skip to main content

Ci4ms CVE-2026-39392

| EUVDEUVD-2026-20485 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-04-08 GitHub_M GHSA-fjpj-6qcq-6pw2
4.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
4.8 MEDIUM
AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

5
CVSS changed
Jul 24, 2026 - 21:22 NVD
5.5 (MEDIUM) 4.8 (MEDIUM)
Patch released
Apr 09, 2026 - 02:30 nvd
Patch available
EUVD ID Assigned
Apr 08, 2026 - 15:16 euvd
EUVD-2026-20485
Analysis Generated
Apr 08, 2026 - 15:16 vuln.today
CVE Published
Apr 08, 2026 - 14:30 nvd
MEDIUM 5.5

DescriptionNVD

CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to 0.31.4.0, the Pages module does not apply the html_purify validation rule to content fields during create and update operations, while the Blog module does. Page content is stored unsanitized in the database and rendered as raw HTML on the public frontend via echo $pageInfo->content. An authenticated admin with page-editing privileges can inject arbitrary JavaScript that executes in the browser of every public visitor viewing the page. This vulnerability is fixed in 0.31.4.0.

AnalysisAI

Stored cross-site scripting (XSS) in CI4MS prior to 0.31.4.0 allows authenticated administrators with page-editing privileges to inject arbitrary JavaScript into page content that executes in the browsers of all public visitors. The Pages module fails to apply HTML sanitization during content creation and updates, storing unsanitized HTML directly in the database and rendering it without escaping on the frontend, whereas the Blog module correctly implements this protection. An attacker with admin credentials can compromise the integrity and confidentiality of visitor sessions. CVSS 5.5, no public exploit code identified at time of analysis.

Technical ContextAI

CI4MS is a modular CMS built on the CodeIgniter 4 framework (cpe:2.3:a:ci4-cms-erp:ci4ms). The vulnerability stems from inconsistent validation logic across modules: the Blog module applies the html_purify validation rule to sanitize user-supplied content, but the Pages module omits this rule during both create and update operations. Unsanitized content is persisted to the database and later rendered on the public frontend using a direct echo statement (echo $pageInfo->content) without HTML entity encoding or output escaping. This represents a classic Stored XSS (CWE-79) where user input flows directly into output context without sanitization, allowing JavaScript payload persistence and cross-domain execution against all site visitors.

RemediationAI

Vendor-released patch: CI4MS 0.31.4.0 or later. Upgrade immediately to the patched version via the official repository or package manager. As a temporary workaround for organizations unable to patch immediately, restrict page-editing privileges to the minimum necessary set of trusted administrators and implement Content Security Policy (CSP) headers on the frontend to mitigate JavaScript execution from untrusted inline scripts (e.g., script-src 'self'). Additionally, audit all existing page content in the database for suspicious JavaScript or HTML and manually sanitize or remove malicious payloads. Consult the GitHub Security Advisory at https://github.com/ci4-cms-erp/ci4ms/security/advisories/GHSA-fjpj-6qcq-6pw2 for full patching instructions.

More in Ci4ms

View all
CVE-2026-25510 CRITICAL POC
9.9 Feb 03

CI4MS (CodeIgniter 4 CMS skeleton) has a code injection vulnerability (CVSS 9.9) allowing authenticated users to execute

CVE-2026-34571 CRITICAL
9.9 Apr 01

Stored cross-site scripting in CI4MS backend user management allows authenticated attackers with low-level privileges to

CVE-2026-34569 CRITICAL
9.9 Apr 01

Stored cross-site scripting in CI4MS blog category management allows authenticated users to inject malicious JavaScript

CVE-2026-39394 CRITICAL
9.8 Apr 08

Environment file injection in CI4MS versions prior to 0.31.4.0 allows remote attackers to inject arbitrary configuration

CVE-2026-34568 CRITICAL
9.1 Apr 01

Stored cross-site scripting in CI4MS blog module allows authenticated attackers to inject malicious JavaScript that exec

CVE-2026-34567 CRITICAL
9.1 Apr 01

Stored cross-site scripting in CI4MS (CodeIgniter 4 CMS) allows authenticated users with blog post management privileges

CVE-2026-34566 CRITICAL
9.1 Apr 01

Stored cross-site scripting (XSS) in CI4MS page management functionality allows authenticated attackers to inject malici

CVE-2026-34565 CRITICAL
9.1 Apr 01

Stored cross-site scripting (XSS) in CI4MS menu management allows authenticated users with low privileges to inject mali

CVE-2026-34564 CRITICAL
9.1 Apr 01

Stored cross-site scripting in CI4MS menu management allows authenticated attackers to inject malicious scripts that exe

CVE-2026-34563 CRITICAL
9.1 Apr 01

Stored blind cross-site scripting in CI4MS backup management allows authenticated attackers to inject malicious JavaScri

CVE-2026-34558 CRITICAL
9.1 Mar 30

Stored Cross-Site Scripting in CI4MS methods management allows authenticated users to inject malicious JavaScript into a

CVE-2026-34557 CRITICAL
9.1 Mar 30

Stored cross-site scripting in CI4MS role/group management allows authenticated attackers to inject malicious JavaScript

Share

CVE-2026-39392 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy