Summary
Vulnerability: Stored DOM XSS via System Settings, Mail Settings (Same-Page Attribute Breakout & Persistent Payload Injection)
- Stored Cross-Site Scripting via Unsanitized Mail Settings Configuration Fields
Description
The application fails to properly sanitize user-controlled input within System Settings, Mail Settings. Several configuration fields, including Mail Server, Mail Port, Email Address, Email Password, Mail Protocol, and TLS settings, accept attacker-controlled input that is stored server-side and later rendered without proper output encoding.
Unlike public-facing XSS that executes on landing pages, this vulnerability executes immediately on the same settings page. The injected payload breaks out of the HTML attribute context and is interpreted by the browser when rendered, resulting in same-page DOM-based XSS.
This represents different functionality and a separate vulnerability from landing-page injection.
Example Affected Fields
- Mail Server:
test - Mail Port:
465 - Email Address:
[email protected] - Email Password: (any input)
- Mail Protocol:
SMTP - Domain:
[email protected]
Affected Functionality
- System Settings, Mail Settings configuration
- Same-page rendering of user-controlled input fields
- DOM attribute injection within form inputs
- Storage and retrieval of mail configuration values
Attack Scenario
- An attacker injects a malicious JavaScript payload into one or more Mail Settings fields.
- The payload breaks out of the HTML attribute context.
- The application stores and re-renders the payload without sanitization or encoding.
- The payload executes immediately on the same settings page.
- The script executes in the browser context of the authenticated user managing Mail Settings.
Steps To Reproduce (POC)
- Navigate to System Settings -> Mail Settings
- Insert the following XSS payload into any Mail Settings field:
test"><img src=1 onerror=alert()>" class="form-control" placeholder="Name" required> - Save the settings
- Observe that the payload breaks out of the input attribute context
- The XSS executes immediately on the same page
Ready Video POC:
https://mega.nz/file/KRNhUI6Q#NGC3Bow3RlnmdU1H2bGu1BGbpfIc-awi6IlvTp08V1s
Impact
- Persistent Stored XSS
- Immediate Same-Page DOM XSS execution
- Execution of arbitrary JavaScript in victims’ browsers
- Administrative privilege escalation
- Full administrator account takeover
- Full account takeover across all roles
- Full compromise of the entire platform
Endpoints:
/backend/settings/(Mail Settings)
Untrusted input is rendered as active markup in a victim's browser, which can run script in their session. Typical impact: session or credential theft, and actions taken as the user.
CVE-2026-27599 has a CVSS score of 9.1 (Critical). The vector is network-reachable, high privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (0.31.0.0); upgrading removes the vulnerable code path.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Remediation advice
- Never use .html() or any innerHTML-style sinks for user-controlled input in PHP or JavaScript.
- Apply proper HTML encoding and input sanitization for all configuration fields.
- Enforce CSP, HttpOnly, SameSite, and Secure flags for cookies to reduce the severity of XSS and potential CSRF escalation.
- Audit all other system settings fields for similar attribute injection vulnerabilities.
Frequently Asked Questions
- What is CVE-2026-27599? CVE-2026-27599 is a critical-severity cross-site scripting (XSS) vulnerability in ci4-cms-erp/ci4ms (composer), affecting versions <= 0.28.6.0. It is fixed in 0.31.0.0. Untrusted input is rendered as active markup in a victim's browser, which can run script in their session.
- How severe is CVE-2026-27599? CVE-2026-27599 has a CVSS score of 9.1 (Critical). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
- Which versions of ci4-cms-erp/ci4ms are affected by CVE-2026-27599? ci4-cms-erp/ci4ms (composer) versions <= 0.28.6.0 is affected.
- Is there a fix for CVE-2026-27599? Yes. CVE-2026-27599 is fixed in 0.31.0.0. Upgrade to this version or later.
- Is CVE-2026-27599 exploitable, and should I be worried? Whether CVE-2026-27599 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2026-27599 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2026-27599? Upgrade
ci4-cms-erp/ci4msto 0.31.0.0 or later.