CRITICAL🇬🇧 English

CVE-2026-41228

Froxlor: RCE przez path traversal w parametrze def_language

CVSS 9.9v3.1pub. 2026-04-23upd. 2026-04-27

Podatność w Froxlor (przed wersją 2.3.6) umożliwia uwierzytelnionemu użytkownikowi osiągnięcie zdalnego wykonania kodu (RCE) poprzez manipulację parametrem `def_language` w API. Zagrożenie jest krytyczne, ponieważ atakujący może uruchomić dowolny kod PHP z uprawnieniami serwera WWW.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Endpoint API `Customers.update` (oraz `Admins.update`) nie waliduje parametru `def_language` względem listy dostępnych plików językowych. Uwierzytelniony użytkownik może przekazać jako wartość tego parametru payload typu path traversal (np. `../../../../../var/customers/webs/customer1/evil`), który jest następnie zapisywany w bazie danych. Przy kolejnych żądaniach funkcja `Language::loadLanguage()` konstruuje ścieżkę do pliku na podstawie tej wartości i wykonuje go instrukcją `require`, co prowadzi do wykonania dowolnego kodu PHP jako użytkownik procesu serwera WWW.

Skutki

Atakujący może wykonać dowolny kod PHP na serwerze z uprawnieniami serwera WWW, co w praktyce oznacza pełne przejęcie kontroli nad aplikacją, dostęp do danych klientów oraz potencjalny lateral movement w infrastrukturze hostingowej.

Mitygacja

Należy zaktualizować Froxlor do wersji 2.3.6, która wprowadza walidację parametru `def_language` względem listy dostępnych plików językowych. Patch dostępny jest w repozytorium GitHub producenta (commit bc5e6dbaa90e6f3573129da640595e8c770e1d0c) oraz w wydaniu 2.3.6.

Kogo dotyczy

Froxlor we wszystkich wersjach przed 2.3.6

Uwagi

Podatność wymaga uwierzytelnienia (PR:L), jednak zasięg ataku wykracza poza kontekst aplikacji (S:C), co przekłada się na wynik CVSS 9.9. Błąd sklasyfikowany jako CWE-98 (improper control of filename for include/require statement in PHP).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
  • Froxlor

    APP
    Froxlor
    < 2.3.6
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEPath Traversal
CWE
Referencje

Powiązane podatności

CVE-2026-41229CRITICAL9.1PL ✓ten sam produkt

Froxlor: wstrzyknięcie kodu PHP przez nieskonfigurowany parametr MySQL

CVE-2026-26279CRITICAL9.1PL ✓ten sam produkt

RCE z uprawnieniami root w Froxlor przez błąd walidacji pól e-mail

CVE-2023-6069CRITICAL9.9ten sam produkt

Improper Link Resolution Before File Access in GitHub repository froxlor/froxlor prior to 2.1.0.

CVE-2023-3173CRITICAL9.8ten sam produkt

Improper Restriction of Excessive Authentication Attempts in GitHub repository froxlor/froxlor prior to 2.0.20...

CVE-2023-1307CRITICAL9.8ten sam produkt

Authentication Bypass by Primary Weakness in GitHub repository froxlor/froxlor prior to 2.0.13.