Register for the AI for Security Summit: Join Figma, Perplexity & Wiz

CVE-2026-34562
PHP vulnerability analysis and mitigation

Overview

CVE-2026-34562 is a stored DOM-based Cross-Site Scripting (XSS) vulnerability in CI4MS, a CodeIgniter 4-based CMS skeleton with RBAC authorization and theme support. The flaw exists in the System Settings – Company Information module, where multiple administrative configuration fields accept attacker-controlled input that is stored server-side and later rendered without proper output encoding. All versions up to and including 0.28.6.0 are affected; the issue was patched in version 0.31.0.0. The vulnerability was published on March 31, 2026, and assigned CVE-2026-34562 on April 1, 2026. CVSS v3.1 scores vary by source: the GitHub Advisory Database rates it Moderate (4.7), while Feedly's assessment scores it 9.0 (Critical) (Github Advisory, CI4MS Advisory).

Technical details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation – Cross-Site Scripting): the application stores user-supplied values from Company Information fields (e.g., Company Name, Slogan, Phone, Email, Google Maps iframe link, Logo) without sanitization, then renders them back into the page without HTML entity encoding (Github Advisory). The injected payload breaks out of the HTML attribute context — for example, using test"><img src=1 onerror=alert()> — and executes immediately on the same settings page (/backend/settings/) when the page is reloaded or revisited by any authenticated user (CI4MS Advisory). Exploitation requires the attacker to have at minimum low-privilege administrative access to the backend settings panel; no additional user interaction beyond page load is needed for the payload to fire against other authenticated users viewing the same page. The use of unsafe DOM manipulation methods (e.g., .html(), innerHTML) or unencoded server-side template output is identified as the underlying technical sink (Github Advisory).

Impact

Successful exploitation enables persistent, stored XSS execution in the browsers of any authenticated user who visits the Company Information settings page, including higher-privileged administrators. This can lead to full administrator account takeover, privilege escalation across all roles, and complete platform compromise — including session hijacking, credential theft, and unauthorized actions performed on behalf of victims (CI4MS Advisory). Confidentiality, integrity, and availability are all rated High in the more severe scoring assessments, reflecting the potential for arbitrary JavaScript execution in victim browsers and cascading access to all platform resources (Github Advisory).

Exploitability

A proof-of-concept (PoC) exploit with concrete reproduction steps and a video demonstration is publicly available in the GitHub Security Advisory (CI4MS Advisory). The EPSS score is approximately 0.038% (0.000380), indicating a low current probability of widespread exploitation within 30 days. There is no evidence of in-the-wild exploitation or CISA KEV catalog inclusion at this time, and no threat actor attribution has been reported (Github Advisory).

Exploitation steps

  1. Gain administrative access: Obtain low-privilege administrative credentials to the CI4MS backend (e.g., through credential theft, phishing, or reuse of default credentials).
  2. Navigate to the vulnerable endpoint: Log in and browse to /backend/settings/ → System Settings → Company Information.
  3. Inject the XSS payload: Insert a malicious payload into any Company Information field (e.g., Company Name). Example payload: test"><img src=1 onerror=alert(document.cookie)> or a more sophisticated payload to exfiltrate session tokens to an attacker-controlled server.
  4. Save the settings: Submit the form; the payload is stored server-side without sanitization.
  5. Trigger execution: When any authenticated user (including higher-privileged administrators) loads the /backend/settings/ page, the stored payload breaks out of the HTML attribute context and executes immediately in their browser.
  6. Achieve objective: The executed script can steal session cookies, perform actions on behalf of the victim (account takeover, privilege escalation), or pivot to further compromise of the platform (CI4MS Advisory).

Indicators of compromise

  • Network: Unexpected outbound HTTP requests from the CI4MS server or from administrator browsers to unknown external domains (potential session token exfiltration).
  • Logs: Backend access logs showing POST requests to /backend/settings/ containing HTML special characters or JavaScript keywords (e.g., <script>, onerror=, alert(, document.cookie) in Company Information field values.
  • File System / Database: Company Information fields in the database containing HTML tags, JavaScript event handlers, or encoded payloads (e.g., <img, <script, onerror=, javascript:) instead of plain text values.
  • Browser/Application: Unexpected JavaScript alert dialogs or console errors appearing when administrators visit the /backend/settings/ page; anomalous session activity or privilege changes for administrator accounts shortly after visiting the settings page (CI4MS Advisory).

Mitigation and workarounds

Upgrade CI4MS to version 0.31.0.0 or later, which includes global input validation, enhanced XSS and CSRF protection, and a complete security overhaul including CodeIgniter Shield integration (CI4MS Release). As interim mitigations, implement a strict Content Security Policy (CSP) to limit unauthorized script execution, set HttpOnly and SameSite attributes on session cookies, and enforce HTML entity encoding on all user-controlled output. Avoid unsafe DOM manipulation methods such as .html() and innerHTML in both client-side JavaScript and server-side templates (Github Advisory).

Community reactions

The vulnerability was reported by researchers credited as bugmithlegend and LAW6ZX7 in the GitHub Security Advisory, and the maintainer published the advisory and patch promptly (CI4MS Advisory). The issue was picked up by automated CVE tracking feeds and aggregators shortly after disclosure, with no notable broader media coverage or significant community debate identified at this time.

Additional resources


SourceThis report was generated using AI

Related PHP vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-71537MEDIUM6.5
  • PHP logoPHP
  • paymenter/paymenter
NoYesSep 18, 2026
CVE-2026-77616MEDIUM6.1
  • PHP logoPHP
  • mediawiki/semantic-media-wiki
NoYesSep 18, 2026
CVE-2026-77610MEDIUM6.1
  • PHP logoPHP
  • mediawiki/semantic-media-wiki
NoYesSep 18, 2026
CVE-2026-77609MEDIUM6.1
  • PHP logoPHP
  • mediawiki/semantic-media-wiki
NoYesSep 18, 2026
CVE-2026-77608MEDIUM6.1
  • PHP logoPHP
  • mediawiki/semantic-media-wiki
NoYesSep 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management