Description
Froxlor is open source server administration software. Prior to version 2.3.6, the Froxlor API endpoint `Customers.update` (and `Admins.update`) does not validate the `def_language` parameter against the list of available language files. An authenticated customer can set `def_language` to a path traversal payload (e.g., `../../../../../var/customers/webs/customer1/evil`), which is stored in the database. On subsequent requests, `Language::loadLanguage()` constructs a file path using this value and executes it via `require`, achieving arbitrary PHP code execution as the web server user. Version 2.3.6 fixes the issue.
Affected products
froxlor: froxlor
References4
- github.com/froxlor/froxlor/security/advisories/GHSA-w59f-67xm-r… ExploitMitigationVendor Advisory
- github.com/froxlor/froxlor/security/advisories/GHSA-w59f-67xm-r… ExploitMitigationVendor Advisory
- github.com/froxlor/froxlor/commit/bc5e6dbaa90e6f3573129da640595… Patch
- github.com/froxlor/froxlor/releases/tag/2.3.6 Release Notes
Metrics
- CVSS 3.1
-
9.9
CRITICAL
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - EPSS — exploit probability
- 1% percentile: 45 · as of 13 November 2026
- CWE
- CWE-98
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.