CVE-2026-41228
CVE-2026-41228 is a critical-severity vulnerability in Froxlor with a CVSS 3.x base score of 9.9. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-98.
Key facts
- Severity: Critical (CVSS 3.x base score 9.9)
- EPSS exploit prediction: 1% (41st percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-25176
- Weakness: CWE-98
- Affected product: Froxlor
- Published:
- Last modified:
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.
Frequently asked questions
- What is CVE-2026-41228?
- 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.
- How severe is CVE-2026-41228?
- CVE-2026-41228 has a CVSS 3.x base score of 9.9, rated critical severity. It is exploitable over network with low attack complexity, requires low privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2026-41228 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (41st percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-41228?
- CVE-2026-41228 affects Froxlor. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-41228?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2026-41228 have an EU (EUVD) identifier?
- Yes. CVE-2026-41228 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-25176.
- When was CVE-2026-41228 published?
- CVE-2026-41228 was published on 2026-04-23 and last updated on 2026-06-17.
References
- https://github.com/froxlor/froxlor/commit/bc5e6dbaa90e6f3573129da640595e8c770e1d0c
- https://github.com/froxlor/froxlor/releases/tag/2.3.6
- https://github.com/froxlor/froxlor/security/advisories/GHSA-w59f-67xm-rxx7
Affected products (1)
- cpe:2.3:a:froxlor:froxlor:*:*:*:*:*:*:*:*
More vulnerabilities in Froxlor
- CVE-2023-6069 — Critical (CVSS 9.9): Improper Link Resolution Before File Access in GitHub repository froxlor/froxlor prior to 2.1.0.
- CVE-2023-3173 — Critical (CVSS 9.8): Improper Restriction of Excessive Authentication Attempts in GitHub repository froxlor/froxlor prior to 2.0.20.
- CVE-2023-1307 — Critical (CVSS 9.8): Authentication Bypass by Primary Weakness in GitHub repository froxlor/froxlor prior to 2.0.13.
- CVE-2021-42325 — Critical (CVSS 9.8): Froxlor through 0.10.29.1 allows SQL injection in Database/Manager/DbManagerMySQL.php via a custom DB name.
- CVE-2015-5959 — Critical (CVSS 9.8): Froxlor before 0.9.33.2 with the default configuration/setup might allow remote attackers to obtain the database…
- CVE-2016-5100 — Critical (CVSS 9.8): Froxlor before 0.9.35 uses the PHP rand function for random number generation, which makes it easier for remote…
Other CWE-98 (PHP Remote File Inclusion) vulnerabilities
- CVE-2025-25174 — Critical (CVSS 10.0): Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') vulnerability…
- CVE-2012-10025 — Critical (CVSS 10.0): The WordPress plugin Advanced Custom Fields (ACF) version 3.5.1 and below contains a remote file inclusion (RFI)…
- CVE-2025-31340 — Critical (CVSS 9.9): A improper control of filename for include/require statement in PHP program vulnerability in the retrieve course…
- CVE-2023-5199 — Critical (CVSS 9.9): The PHP to Page plugin for WordPress is vulnerable Local File Inclusion to Remote Code Execution in versions up to, and…
- CVE-2026-7515 — Critical (CVSS 9.8): The BetterDocs Pro plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 3.8.0…
- CVE-2026-27065 — Critical (CVSS 9.8): Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') vulnerability…
Browse all CWE-98 (PHP Remote File Inclusion) vulnerabilities →