Skip to main content

PHP CVE-2026-27599

| EUVDEUVD-2026-17199 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-03-30 https://github.com/ci4-cms-erp/ci4ms GHSA-66m2-v9v9-95c3
4.7
CVSS 3.1 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
4.7 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

Lifecycle Timeline

4
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
EUVD ID Assigned
Mar 30, 2026 - 16:30 euvd
EUVD-2026-17199
Analysis Generated
Mar 30, 2026 - 16:30 vuln.today
CVE Published
Mar 30, 2026 - 16:19 nvd
MEDIUM 4.7

DescriptionGitHub Advisory

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: simple@gmail.com
  • Email Password: (any input)
  • Mail Protocol: SMTP
  • Domain: simple@domain.com

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.

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)

Steps To Reproduce (POC)

  1. Navigate to System Settings -> Mail Settings
  2. Insert the following XSS payload into any Mail Settings field:

test"><img src=1 onerror=alert()>" class="form-control" placeholder="Name" required>

  1. Save the settings
  2. Observe that the payload breaks out of the input attribute context
  3. The XSS executes immediately on the same page

Remediation

  • 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.

Ready Video POC:

https://mega.nz/file/KRNhUI6Q#NGC3Bow3RlnmdU1H2bGu1BGbpfIc-awi6IlvTp08V1s

AnalysisAI

Stored DOM-based cross-site scripting (XSS) in CI4 CMS-ERP Mail Settings allows authenticated administrators to inject arbitrary JavaScript via unsanitized configuration fields (Mail Server, Port, Email Address, Password, Protocol, TLS settings), with payloads executing immediately on the same settings page upon save. Attack requires high-privilege access (PR:H) but enables full account takeover and platform compromise. Publicly available proof-of-concept video demonstrates attribute breakout technique.

Technical ContextAI

The vulnerability exists in the Mail Settings configuration interface of CI4 CMS-ERP (pkg:composer/ci4-cms-erp_ci4ms), a PHP-based CMS/ERP platform. The application renders user-supplied mail configuration values directly into HTML form input attributes without proper output encoding, allowing attackers to break out of the attribute context using payload delimiters such as double-quotes and angle brackets. The injected content is stored server-side and re-rendered on every access to the settings page, creating a persistent stored XSS condition rather than reflected XSS. This is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation), a fundamental input validation and output encoding failure. The vulnerability manifests in the /backend/settings/ endpoint and affects multiple configuration fields that accept arbitrary string input without sanitization or HTML entity encoding.

RemediationAI

Implement immediate output encoding of all Mail Settings configuration fields by applying HTML entity encoding (e.g., htmlspecialchars() in PHP with ENT_QUOTES | ENT_HTML5 flags) to all user-controlled input before rendering in HTML context. Replace any use of .html() or innerHTML-equivalent functions with safe DOM text assignment methods. Apply HTTP-only and Secure flags to all authentication cookies, enforce a restrictive Content Security Policy (CSP) to prevent inline script execution, and set SameSite=Strict on session cookies to mitigate CSRF escalation vectors. Audit all other System Settings configuration interfaces for identical attribute injection vulnerabilities. Consult the GitHub advisory GHSA-66m2-v9v9-95c3 at https://github.com/advisories/GHSA-66m2-v9v9-95c3 and the CI4 CMS-ERP repository at https://github.com/ci4-cms-erp/ci4ms for patch availability and detailed remediation guidance. Input validation alone is insufficient-output encoding is the primary mitigation.

More in PHP

View all
CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-46506 CRITICAL POC
10.0 May 13

NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

Share

CVE-2026-27599 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy