Safeguard
Vulnerability Analysis•

CVE-2026-34558: CI4MS Stored DOM XSS in Methods Management

CVE-2026-34558 is a stored DOM XSS in CI4MS Methods Management that runs in admin pages and navigation. Upgrade ci4-cms-erp/ci4ms to 0.31.0.0 or later.

Safeguard Security Team
2 min read

CVE-2026-34558 is a critical (CVSS 9.1) stored DOM-based cross-site scripting flaw in CI4MS, in Methods Management. Stored values reach admin pages and global navigation without encoding. The fix is version 0.31.0.0, so upgrade to it or later. One upgrade also covers CVE-2026-34557.

What's affected

The project's advisory (GHSA-v77r-xg3p-75g7) lists ci4-cms-erp/ci4ms at 0.28.6.0 and earlier, patched in 0.31.0.0. NVD says prior to 0.31.0.0.

Input fields used when creating or managing application methods and pages accept values that are stored unsanitized. They are later placed into administrative interfaces and global navigation components without encoding. Because navigation appears on many pages, the advisory says the script runs when viewing the methods page and any other page.

The related CVE-2026-34557 affects the group and role module in the same release line.

How to check if you're exposed

composer show ci4-cms-erp/ci4ms

If below 0.31.0.0, review the stored methods and page entries for markup. Check who can create them.

Also look at the navigation entries of the admin interface, since the advisory says the stored values appear there and on other pages.

What to do now

  1. Upgrade to 0.31.0.0 or later, which also covers CVE-2026-34557.
  2. Review stored methods and page entries for unexpected markup.
  3. Limit who can manage methods and pages.
  4. Consider a Content Security Policy that blocks inline script.

Why it matters

The weakness is CWE-79, cross-site scripting, in its stored DOM form. Data kept by the server is written into the page by client-side code without encoding.

Placing the stored value in global navigation raises the stakes, since every admin page then runs it. The record does not mark this CVE as exploited, and it is not on the CISA KEV list.

For developers working on CodeIgniter 4 code, the framework's esc() helper encodes output for HTML contexts. Use it in custom views, and use context-appropriate encoding for attributes and scripts.

Quick check

Does one upgrade fix both CI4MS CVEs?

Both name 0.31.0.0 as the patched version.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.