External risk intelligence

CI4MS Stored Cross-Site Scripting Vulnerability

CVE advisorySeverity: CRITICAL (CVSS 9.0)

CVE-2026-34568

The vulnerability exists in a content management system (CMS). CMS platforms are typically deployed as public-facing web applications intended to serve content to internet users, making their input fields and rendering mechanisms commonly accessible via the public internet.

Cross-site Scripting

Ci4 Cms Erp Ci4ms

before 0.31.0.0

Halo Surface Signal: 4 out of 5 — likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

This vulnerability affects a content management system, allowing unauthorized code execution through specially crafted blog posts. If exploited, this could compromise application views and user data. The primary concern is to confirm if this specific content management system is in use and assess potential exposure.

  • Malicious code can be hidden in blog posts.
  • Website content could be compromised.
  • Confirm if we use this system.

Attack Path

How an attacker could exploit the issue

An attacker with authenticated access to the CI4MS system can inject malicious JavaScript code into blog posts. This code is stored and later displayed on various pages without proper sanitization, allowing it to execute within a user's browser.

  • Authenticated user access required.
  • Inject JavaScript into blog posts.
  • Stored XSS attacks.

Live Threat

Current exploitation, exposure, and threat context

When supported by the advisory, this vulnerability could allow an authenticated attacker to inject malicious JavaScript into blog posts. This script may then be executed in the browsers of other users when they view the affected blog content.

  • Blog post content and related data.
  • Malicious script injected into posts.
  • Unauthorized actions and data exposure.

Operational Fix

Recommended remediation, mitigation, and detection steps

The application owner is responsible for addressing this stored cross-site scripting vulnerability in CI4MS. The first practical step is to identify all instances of CI4MS across the environment, confirm their reachability and business criticality, and then assign an owner for remediation planning.

  • Application owners must address this.
  • Verify all CI4MS deployments.
  • Plan remediation based on risk.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is CI4MS and what is it used for?

CI4MS is a modular content management system built on the CodeIgniter 4 framework. It is designed to provide a ready-to-use architecture for managing websites, featuring built-in role-based access control and theme support for structured content delivery.

What does this vulnerability mean?

This vulnerability is a Stored Cross-Site Scripting (XSS) issue, identified as CWE-79. It occurs because the software does not properly clean or encode user input in blog posts. As a result, malicious JavaScript can be saved on the server and later forced to run in the browsers of visitors who view that content.

How does an attacker trigger this bug?

An attacker triggers this by creating or editing a blog post and injecting a malicious JavaScript payload into the content. It is important to note that this is a stored XSS issue, meaning the code must be saved by the server and rendered on a page to execute; simply visiting a page without viewing the compromised content does not trigger it.

Is my CI4MS instance at risk?

According to Halo Surface Signal, because CI4MS is a CMS typically deployed as a public-facing web application, it is likely that your instance is reachable via the internet. If your installation is accessible to users, it falls within the scope of this risk, as internet-facing CMS platforms are common targets for this type of input-based manipulation.

What is the first step to fix this?

The primary step is to identify all instances of CI4MS running in your environment. Once you have a complete inventory, verify which versions are in use. If you are running any version prior to 0.31.0.0, you should prioritize updating to 0.31.0.0 or later, as the developer has patched this input handling issue in that release.

References