Skip to content

CI4MS: Company Information Public-Facing Page Full Platform Compromise & Full Account Takeover for All Roles & Privilege-Escalation via System Settings Company Information Stored DOM XSS

Critical severity GitHub Reviewed Published Apr 2, 2026 in ci4-cms-erp/ci4ms • Updated Apr 10, 2026

Package

composer ci4-cms-erp/ci4ms (Composer)

Affected versions

<= 0.31.1.0

Patched versions

0.31.2.0

Description

Summary

Vulnerability: Stored DOM XSS in main landing page via System Settings – Company Information (Persistent Payload Injection)

  • Stored Cross-Site Scripting via Unsanitized Company Information Configuration Fields

Description

The application fails to properly sanitize user-controlled input within System Settings – Company Information. Several administrative configuration fields accept attacker-controlled input that is stored server-side and later rendered without proper output encoding.

Affected fields include, but are not limited to:

  1. Company Name
  2. Slogan
  3. Company Phone
  4. Company Mobile
  5. Company Email
  6. Google Maps iframe link
  7. Company Logo and other media-related fields

These values are persisted in the database and rendered unsafely on public-facing pages only, such as the main landing page. There is no execution in the administrative dashboard—the vulnerability only impacts the public frontend.

Unlike the same-page stored DOM XSS vulnerability, this issue executes only on separate public-facing pages and not on the settings page itself.

Affected Functionality

  • System Settings – Company Information configuration
  • Public-facing page rendering (main landing page and other public pages)
  • Storage and retrieval of company information values

Attack Scenario

  • An attacker injects a malicious JavaScript payload into one or more Company Information fields.
  • The application stores these values without sanitization or encoding.
  • The payload is rendered only on public-facing pages, including the main landing page.
  • The payload executes automatically in the browser context of unauthenticated visitors and authenticated users who access the public site.

Impact

  • Persistent Stored XSS
  • Execution of arbitrary JavaScript in visitors’ browsers
  • Potential account takeover if cookies are not secured
  • Platform-wide public-facing compromise
  • Full compromise of any user interacting with the affected pages

Endpoints:

  • /backend/settings/ (Company Information injection only, not execution)
  • Main landing page
  • Other public-facing application pages

Steps To Reproduce (POC)

  1. Navigate to System Settings → Company Information
  2. Insert an XSS payload into any Company Information field such as:
    <img src=x onerror=alert(document.domain)>
  3. Save the settings
  4. Visit the public-facing main landing page or other public pages
  5. Observe the XSS payload executing automatically

Remediation

  • Never use .html() again or any innerHTML-style like JS in your PHP, or any other sink, even if user inputs that flow into them are not clear, they still represent real world danger as an attacker can make use of this to exploit the application via XSS. And do HTML Encoding as much as possible and always do Sanitization, theres no sanitization there unfortunately. Also apply CSP, HttpOnly, SameSite, and Secure upon all application, they reduce severity of XSS & escalated-CSRF via XSS and do great jobs

References

@bertugfahriozer bertugfahriozer published to ci4-cms-erp/ci4ms Apr 2, 2026
Published by the National Vulnerability Database Apr 6, 2026
Published to the GitHub Advisory Database Apr 6, 2026
Reviewed Apr 6, 2026
Last updated Apr 10, 2026

Severity

Critical

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
High
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

EPSS score

Exploit Prediction Scoring System (EPSS)

This score estimates the probability of this vulnerability being exploited within the next 30 days. Data provided by FIRST.
(22nd percentile)

Weaknesses

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

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. Learn more on MITRE.

CVE ID

CVE-2026-35035

GHSA ID

GHSA-5ghq-42rg-769x

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.