W aplikacji Gazie 7.32 plik instalacyjny /setup/install/setup.php nie jest usuwany ani blokowany po zakończeniu instalacji, co pozwala dowolnemu użytkownikowi na dostęp do niego bez uwierzytelnienia. Poprzez parametr POST hidden_req możliwe jest wykonanie dowolnej inkluzji pliku PHP, co stanowi krytyczne zagrożenie dla serwera.
▸ Pokaż oryginał (EN)
An issue was discovered in Gazie 7.32. A successful installation does not remove or block (or in any other way prevent use of) its own file /setup/install/setup.php, meaning that anyone can request it without authentication. This file allows arbitrary PHP file inclusion via a hidden_req POST parameter.
Po przeprowadzeniu instalacji aplikacji Gazie plik setup.php pozostaje dostępny publicznie pod ścieżką /setup/install/setup.php. Atakujący może wysłać żądanie HTTP POST do tego pliku, przekazując w parametrze hidden_req ścieżkę do wybranego pliku PHP, który zostanie następnie dołączony i wykonany przez serwer. Mechanizm ten stanowi klasyczny przypadek podatności typu PHP file inclusion, umożliwiający wykonanie dowolnego kodu po stronie serwera.
Atakujący bez żadnego uwierzytelnienia może wykonać dowolny kod PHP na serwerze, co prowadzi do pełnego przejęcia kontroli nad systemem, ujawnienia poufnych danych oraz możliwości naruszenia integralności i dostępności aplikacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako natychmiastowy środek zaradczy należy ręcznie usunąć lub zablokować dostęp do pliku /setup/install/setup.php na serwerze produkcyjnym (np. poprzez konfigurację serwera WWW lub firewall aplikacyjny).
Gazie Project Gazie w wersji 7.32
Poprawka została opublikowana w repozytorium projektu na SourceForge (commit 3823). Podatność wynika z zaniedbania procesu wdrożeniowego — plik instalacyjny powinien być usuwany lub chroniony natychmiast po zakończeniu instalacji.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGazie Project Gazie
APPGazie Project7.9 – 7.32