FreeScout w wersjach przed 1.8.128 zawiera podatność typu OS command injection w pliku /public/tools.php, pozwalającą na wykonanie dowolnych poleceń systemowych na serwerze. Skuteczne wykorzystanie podatności prowadzi do całkowitego przejęcia serwera, na którym działa aplikacja.
▸ Pokaż oryginał (EN)
FreeScout is a self-hosted help desk and shared mailbox. Versions prior to 1.8.128 are vulnerable to OS Command Injection in the /public/tools.php source file. The value of the php_path parameter is being executed as an OS command by the shell_exec function, without validating it. This allows an adversary to execute malicious OS commands on the server. A practical demonstration of the successful command injection attack extracted the /etc/passwd file of the server. This represented the complete compromise of the server hosting the FreeScout application. This attack requires an attacker to know the `App_Key` of the application. This limitation makes the Attack Complexity to be High. If an attacker gets hold of the `App_Key`, the attacker can compromise the Complete server on which the application is deployed. Version 1.8.128 contains a patch for this issue.
Parametr php_path przekazywany do pliku /public/tools.php jest bez jakiejkolwiek walidacji przekazywany bezpośrednio do funkcji shell_exec(), co pozwala atakującemu na wstrzyknięcie i wykonanie dowolnych poleceń systemu operacyjnego. Warunkiem koniecznym jest znajomość klucza aplikacji App_Key, co klasyfikuje złożoność ataku jako wysoką (High). Praktyczna demonstracja podatności wykazała możliwość odczytu pliku /etc/passwd, potwierdzając pełen kompromis serwera.
Atakujący, który zna App_Key aplikacji, może wykonać dowolne polecenia systemowe na serwerze i uzyskać pełną kontrolę nad maszyną hostującą FreeScout, w tym dostęp do poufnych danych oraz możliwość dalszego działania w infrastrukturze.
Należy zaktualizować FreeScout do wersji 1.8.128 lub nowszej, która zawiera patch eliminujący podatność. Dodatkowo zaleca się rotację klucza App_Key oraz ograniczenie dostępu sieciowego do pliku /public/tools.php.
FreeScout w wersjach wcześniejszych niż 1.8.128
Pomyślne przeprowadzenie ataku wymaga od atakującego wcześniejszej znajomości klucza App_Key aplikacji FreeScout — jest to istotny czynnik ograniczający, który podwyższa złożoność ataku do poziomu High w klasyfikacji CVSS.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:HFreescout
APPFreescout< 1.8.128
Powiązane podatności
FreeScout: Stored XSS w szablonach powiadomień e-mail umożliwia przejęcie kont
FreeScout: bypass zabezpieczeń uploadu pliku prowadzący do RCE
FreeScout: przewidywalny token uwierzytelniający umożliwia przejęcie konta
FreeScout is a free self-hosted help desk and shared mailbox. Prior to version 1.8.213, attachment download to...
FreeScout is a free self-hosted help desk and shared mailbox. Prior to version 1.8.213, FreeScout's `Helper::s...