CI4MS has Stored XSS via srcdoc attribute bypass in Google Maps iframe setting
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
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 Google Maps iframe setting (cMap field) in compInfosPost() sanitizes input using strip_tags() with an <iframe> allowlist and regex-based removal of on\w+ event handlers. However, the srcdoc attribute is not an event handler and passes all filters. An attacker with admin settings access can inject an <iframe srcdoc="..."> payload with HTML-entity-encoded JavaScript that executes in the context of the parent page when rendered to unauthenticated frontend visitors. This vulnerability is fixed in 0.31.4.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ci4-cms-erp | ci4ms | before 0.31.4.0 | 0.31.4.0 | Patch available | CNA |
| — | ci4-cms-erp/ci4ms (Packagist) | before 0.31.4.0 | 0.31.4.0 | Patch available | GHSA-x3hr-cp7x-44r2 |
- ci4ms Vendorci4-cms-erp Affected before 0.31.4.0 Fixed in 0.31.4.0 Patch available CNA
- ci4-cms-erp/ci4ms (Packagist) Vendor— Affected before 0.31.4.0 Fixed in 0.31.4.0 Patch available GHSA-x3hr-cp7x-44r2
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:ci4-cms-erp:ci4ms:*:*:*:*:*:*:*:* | up to 0.31.3.0 | Vulnerable | ci4-cms-erp |
- cpe:2.3:a:ci4-cms-erp:ci4ms:*:*:*:*:*:*:*:* Versions up to 0.31.3.0 Vulnerable ·ci4-cms-erp
Remediation
- Fix · CNA ci4ms (ci4-cms-erp) Fixed in 0.31.4.0
- Fix · GHSA-x3hr-cp7x-44r2 ci4-cms-erp/ci4ms (Packagist) Fixed in 0.31.4.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-39390
- 2026-10-03 Alias added: GHSA-x3hr-cp7x-44r2
References
More ci4-cms-erp Ci4ms vulnerabilities
- TI-2026-26819 Improper access control in ci4-cms-erp ci4ms CVSS 3.1HIGH 8.8
- TI-2026-28379 CI4MS has an .env CRLF Injection via Unvalidated `host` Parameter in Install Controller CVSS 3.1CRITICAL 9.8
- TI-2026-27211 Cross-site scripting in ci4-cms-erp ci4ms CVSS 4.0CRITICAL 9.4
- TI-2026-26820 Cross-site scripting in ci4-cms-erp ci4ms CVSS 3.1CRITICAL 10.0
- TI-2026-26818 CI4MS: Blogs Categories Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS CVSS 3.1CRITICAL 10.0
- TI-2026-27238 Cross-site scripting in ci4-cms-erp ci4ms CVSS 3.1CRITICAL 9.0
Sources
- CVE-2026-39390 · CVE Program
- CVE-2026-39390 · NVD
- FIRST EPSS
- GHSA-x3hr-cp7x-44r2 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences