critical9.9
CVE-2026-41228
Froxlor has Local File Inclusion via path traversal in API `def_language` parameter leads to Remote Code Execution
Impact
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 packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| composer | froxlor/froxlor | <= 2.3.5 | 2.3.6 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Froxlor | Froxlor | before 2.3.6 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-w59f-67xm-rxx7
- https://github.com/froxlor/froxlor/security/advisories/GHSA-w59f-67xm-rxx7
- https://nvd.nist.gov/vuln/detail/CVE-2026-41228
- https://github.com/froxlor/froxlor/commit/bc5e6dbaa90e6f3573129da640595e8c770e1d0c
- https://github.com/froxlor/froxlor/releases/tag/2.3.6