Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain admin credentials with change_serversettings permission
-
DeliveryAuthenticate to Froxlor admin panel
-
ExploitSubmit crafted MySQL server configuration via API with PHP payload in privileged_user field
-
InstallPayload written unescaped to lib/userdata.inc.php
-
C2Trigger any subsequent HTTP request
-
ExecuteInjected code executes as web server user
-
ImpactEstablish persistent backdoor access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Attacker must have authenticated administrator access to Froxlor with the change_serversettings permission explicitly granted. This permission controls the ability to add or update MySQL server configurations via the admin panel or API. Default Froxlor installations typically grant this permission to the primary administrator account. Multi-admin deployments using role-based access control may limit this permission to senior administrators. The vulnerability affects the API endpoint for MySQL server management, which must be accessible to the authenticated attacker. No non-default configuration is required - all Froxlor installations prior to 2.3.6 with default settings are exploitable once the privilege requirement is met. The attack complexity is low (AC:L) because no race conditions, timing, or other complicating factors are involved beyond obtaining the necessary authentication credentials and permission level. |
| Impact | This vulnerability presents critical risk despite requiring high privileges (PR:H). The CVSS vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C indicates network-accessible exploitation with low complexity, no user interaction, and crucially a scope change from Changed to High impact across all CIA triad elements. The scope change reflects that an attacker authenticated as an admin can achieve code execution as the web server system user, potentially compromising the entire hosting environment beyond the application itself. Real-world risk assessment: HIGH for organizations using Froxlor where multiple administrators exist or where admin credentials could be compromised through phishing or credential reuse. MEDIUM-LOW for single-administrator deployments with strong authentication controls. No EPSS score, KEV status, or POC availability data provided, but GitHub commit 3589ddf93ab59eb2a8971f0f56cbf6266d03c4ae shows the fix is a straightforward escaping implementation, suggesting exploitation is technically simple once admin access is obtained. The persistent nature of the injection (executes on every request) makes this particularly dangerous for lateral movement scenarios where an attacker chains this with an authentication bypass or privilege escalation vulnerability. |
| Exploit ScenarioDerived | An attacker who has compromised administrator credentials (via phishing, credential stuffing, or an unrelated vulnerability) authenticates to the Froxlor admin panel and calls the MySQL server management API with a crafted privileged_user parameter containing PHP code: user'; system($_GET['cmd']); //. This malicious string is written unescaped into lib/userdata.inc.php, breaking out of the quoted string context and injecting executable PHP. On the next request to any Froxlor page, the injected code executes as the web server user, providing persistent remote code execution. The attacker can now run arbitrary system commands, read database credentials from the now-compromised configuration file, pivot to managed hosting accounts, or establish persistence mechanisms. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 23, 2026
Remote code execution in Froxlor server administration software versions prior to 2.3.6 allows authenticated administrators with change_serversettings permission to inject arbitrary PHP code through an unescaped MySQL server configuration parameter. The vulnerability enables persistent code execution on every subsequent HTTP request as the web server user due to improper input sanitization in PhpHelper::parseArrayToString(). Vendor patch available in version 2.3.6. CVSS score of 9.1 reflects the critical impact despite requiring high-privilege authentication, with scope change indicating the attacker can break out of the application's security context.
RemediationAI
Upgrade to Froxlor version 2.3.6 immediately, available at https://github.com/froxlor/froxlor/releases/tag/2.3.6. The fix implemented in commit 3589ddf93ab59eb2a8971f0f56cbf6266d03c4ae adds proper single-quote escaping in PhpHelper::parseArrayToString(). For environments where immediate patching is not possible, implement compensating controls: restrict change_serversettings permission to only fully trusted administrator accounts, audit lib/userdata.inc.php for suspicious PHP code patterns, monitor admin API access logs for MySQL server configuration changes, and consider deploying web application firewall rules to inspect API requests to MySQL server management endpoints for code injection patterns (note this provides detection not prevention since the API may legitimately contain special characters). After upgrading, regenerate lib/userdata.inc.php by re-saving MySQL server settings to ensure no malicious code persists from prior exploitation. Review web server access logs and application logs for unusual admin activity during the vulnerable period.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Froxlor is an open-source server administration panel written in PHP for managing web hosting environments. The vulnerability exists in the PhpHelper::parseArrayToString() function which generates PHP code for configuration files. When processing MySQL server settings via the API endpoint, the function writes the privileged_user parameter value into single-quoted PHP string literals in lib/userdata.inc.php without escaping single quote characters. This configuration file is required on every request through the Database::getDB() initialization path, making any injected code persistent and executed on all subsequent page loads. The root cause is CWE-94 (Improper Control of Generation of Code - Code Injection), specifically a failure to neutralize special characters in data used to construct executable PHP code. The affected product CPE is cpe:2.3:a:froxlor:froxlor:*:*:*:*:*:*:*:*, with all versions before 2.3.6 vulnerable.
Know when Froxlor gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
Froxlor is open source server administration software. Prior to version 2.3.6, PhpHelper::parseArrayToString() writes string values into single-quoted PHP string literals without escaping single quotes. When an admin with change_serversettings permission adds or updates a MySQL server via the API, the privileged_user parameter (which has no input validation) is written unescaped into lib/userdata.inc.php. Since this file is required on every request via Database::getDB(), an attacker can inject arbitrary PHP code that executes as the web server user on every subsequent page load. Version 2.3.6 contains a patch.
Executive ViewAI
Froxlor server administration software versions before 2.3.6 contain a critical remote code execution vulnerability that allows authenticated administrators to inject malicious PHP code through improperly sanitized configuration parameters, resulting in persistent code execution with web server privileges. Organizations running affected Froxlor instances face immediate risk of unauthorized system compromise and data exfiltration by internal administrators or compromised administrative accounts.
Vendor-released patch: version 2.3.6. Until patching is complete: restrict change_serversettings permission to minimally-required administrators, implement network segmentation to limit administrative access, enable detailed logging of all server configuration modifications, and conduct daily review of Froxlor access logs for unauthorized administrative activity.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Command Injection in GitHub repository froxlor/froxlor prior to 2.0.8. Rated high severity (CVSS 8.8), this vulnerabilit
Improper Restriction of Excessive Authentication Attempts in GitHub repository froxlor/froxlor prior to 2.0.20. Rated cr
Authentication Bypass by Primary Weakness in GitHub repository froxlor/froxlor prior to 2.0.13. Rated critical severity
Froxlor through 0.10.29.1 allows SQL injection in Database/Manager/DbManagerMySQL.php via a custom DB name. Rated critic
Command injection in Froxlor server admin before 2.3.4 due to typo (== instead of =) disabling input validation entirely
Improper Link Resolution Before File Access in GitHub repository froxlor/froxlor prior to 2.1.0. Rated high severity (CV
Unrestricted Upload of File with Dangerous Type in GitHub repository froxlor/froxlor prior to 2.0.14. Rated high severit
Cross-Site Request Forgery (CSRF) in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8),
Code Injection in GitHub repository froxlor/froxlor prior to 2.0.11. Rated high severity (CVSS 8.8), this vulnerability
Code Injection in GitHub repository froxlor/froxlor prior to 2.0.10. Rated high severity (CVSS 8.8), this vulnerability
An issue was discovered in Froxlor before 0.10.14. Rated high severity (CVSS 8.8), this vulnerability is remotely exploi
Froxlor is open source server administration software. Rated high severity (CVSS 7.5), this vulnerability is remotely ex
EUVD-2026-25178
GHSA-gc9w-cc93-rjv8
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB