W aplikacji GLPI (wersje 10.0.7–10.0.9) istnieje krytyczna podatność umożliwiająca nieuwierzytelnionemu atakującemu przesłanie złośliwych plików PHP do nieautoryzowanych katalogów na serwerze. W zależności od konfiguracji serwera WWW przesłane pliki mogą zostać wykonane, co prowadzi do pełnego przejęcia kontroli nad serwerem.
▸ Pokaż oryginał (EN)
GLPI is a free asset and IT management software package. Starting in version 10.0.7 and prior to version 10.0.10, an unverified object instantiation allows one to upload malicious PHP files to unwanted directories. Depending on web server configuration and available system libraries, malicious PHP files can then be executed through a web server request. Version 10.0.10 fixes this issue. As a workaround, remove write access on `/ajax` and `/front` files to the web server.
Podatność wynika z braku weryfikacji przy instancjonowaniu obiektów (CWE-20) oraz nieprawidłowej walidacji przesyłanych plików (CWE-434). Atakujący bez żadnego uwierzytelnienia może wysłać odpowiednio spreparowane żądanie HTTP, które powoduje umieszczenie złośliwego pliku PHP w katalogach takich jak `/ajax` lub `/front`. Jeśli serwer WWW posiada uprawnienia do zapisu w tych lokalizacjach i jest skonfigurowany do wykonywania skryptów PHP, atakujący może następnie wywołać przesłany plik przez kolejne żądanie HTTP, uzyskując zdalne wykonanie kodu (RCE).
Atakujący może uzyskać zdalne wykonanie kodu (RCE) na serwerze, co może skutkować pełnym przejęciem systemu, kradzieżą danych, instalacją backdoorów oraz dalszym lateral movement w sieci organizacji.
Należy jak najszybciej zaktualizować GLPI do wersji 10.0.10. Jako obejście (workaround) przed aktualizacją należy odebrać serwerowi WWW uprawnienia do zapisu w katalogach `/ajax` i `/front`.
GLPI w wersjach od 10.0.7 do 10.0.9 (wersja 10.0.10 i nowsze nie są podatne)
Podatność ma maksymalny wynik CVSS 10.0 i nie wymaga uwierzytelnienia ani interakcji użytkownika, co czyni ją szczególnie niebezpieczną w środowiskach z publicznie dostępną instancją GLPI. Patch dostępny w wersji 10.0.10 opublikowanej na GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HGlpi Project Glpi
APPGlpi-Project10.0.7 – 10.0.10 (bez)
Powiązane podatności
PHP code injection w module htmlawed systemu GLPI
GLPI: Template Injection prowadzący do RCE przez konto administratora
GLPI: Kradzież sesji przez nieuauthoryzowany dostęp do identyfikatorów sesji
SQL Injection w GLPI umożliwiający kradzież danych i zapis webshella
GLPI: SQL injection i XSS w endpoincie inwentaryzacji bez uwierzytelnienia