CVE-2026-34989
Received Received - Intake
Stored XSS in CI4MS Profile Name Allows Remote Script Injection

Publication date: 2026-04-06

Last updated on: 2026-04-27

Assigner: GitHub, Inc.

Description
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to 31.0.0.0, the application fails to properly sanitize user-controlled input when users update their profile name (e.g., full name / username). An attacker can inject a malicious JavaScript payload into their profile name, 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 vulnerability is fixed in 31.0.0.0.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-06
Last Modified
2026-04-27
Generated
2026-05-07
AI Q&A
2026-04-06
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
ci4-cms-erp ci4ms to 0.31.0.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-34989 is a critical stored cross-site scripting (XSS) vulnerability in the CI4MS CodeIgniter 4-based CMS. It occurs because the application does not properly sanitize user-controlled input when users update their profile name (such as full name or username).

An attacker can inject malicious JavaScript code into their profile name, which is then stored on the server. This malicious code is later rendered unsafely in multiple parts of the application without proper encoding, causing the script to execute in the browsers of other users who view these pages.

This stored XSS affects both normal users and administrators, potentially allowing attackers to hijack sessions, escalate privileges, and take over admin accounts, leading to full compromise of the application.


How can this vulnerability impact me? :

This vulnerability can have severe impacts including:

  • Execution of arbitrary JavaScript code in the browsers of users and administrators.
  • Session hijacking, allowing attackers to steal user sessions.
  • Privilege escalation, enabling attackers to gain administrative rights.
  • Full account takeover of administrator accounts.
  • Complete compromise of the application, affecting confidentiality, integrity, and availability.

How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by checking if user profile names (full name/username) contain malicious JavaScript payloads that are stored and rendered unsafely in the application.

One approach is to inspect the profile name fields in the database or through the application interface for suspicious scripts such as <img src=x onerror=alert(document.domain)> or other JavaScript event handlers.

Additionally, monitoring HTTP requests to the profile update endpoint (/backend/users/profile/) for payloads containing script tags or event handlers can help detect exploitation attempts.

Suggested commands include querying the database for profile names containing script tags or suspicious attributes, for example using SQL:

  • SELECT * FROM users WHERE profile_name LIKE '%<script%' OR profile_name LIKE '%onerror=%' OR profile_name LIKE '%<img%';

Also, using web application security scanners or manual testing tools to attempt injecting scripts into profile name fields and observing if they execute when rendered can help confirm the vulnerability.


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include upgrading the ci4ms package to version 31.0.0.0 or later, where the vulnerability is fixed.

Until the upgrade can be applied, avoid using unsafe JavaScript methods such as .html() or innerHTML-like functions that directly inject user input into the DOM without encoding.

Implement strict HTML encoding and sanitization of all user inputs before storage and ensure output encoding is consistently applied across all endpoints where user-controlled data is displayed.

Additionally, review and sanitize existing stored profile names to remove any malicious scripts.

Restrict user privileges to minimize the risk of attackers injecting malicious payloads and monitor user profile update activities for suspicious inputs.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The vulnerability allows attackers to execute arbitrary JavaScript in the context of other users, including administrators, leading to session hijacking, privilege escalation, and full account takeover.

Such a compromise can lead to unauthorized access to sensitive personal data, which may violate data protection regulations like GDPR and HIPAA that require safeguarding personal information against unauthorized access and ensuring data integrity.

Therefore, this vulnerability poses a significant risk to compliance with these standards by potentially exposing personal data and compromising system integrity.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart