W systemie FOG (Free Open-source Ghost) wykryto podatność typu stored XSS w endpoincie `/service/inventory.php`, który przyjmuje dane od klientów bez ich sanityzacji. Złośliwy kod JavaScript osadzony przez nieuwierzytelnionego atakującego jest następnie wykonywany w przeglądarce każdego administratora przeglądającego stronę zarządzania inwentarzem.
▸ Pokaż oryginał (EN)
FOG is a free open-source cloning/imaging/rescue suite/inventory management system. Prior to versions 1.5.10.1832 and 1.6.0-beta.2313, the unauthenticated inventory service endpoint (`/service/inventory.php`) persists client-supplied values without sanitization, and the Host Management Inventory page renders all static inventory fields into HTML without output encoding, allowing stored cross-site scripting that executes in any administrator's browser. Versions 1.5.10.1832 and 1.6.0-beta.2313 fix the issue.
Endpoint `/service/inventory.php` jest dostępny bez uwierzytelnienia i zapisuje dostarczone przez klienta wartości bezpośrednio do bazy danych bez jakiejkolwiek walidacji lub sanityzacji. Strona Host Management Inventory renderuje następnie wszystkie statyczne pola inwentarza do HTML bez kodowania wyjścia (output encoding). W efekcie atakujący może dostarczyć spreparowany payload zawierający złośliwy skrypt JavaScript, który zostanie trwale zapisany i wykonany w przeglądarce administratora przy każdym wyświetleniu strony inwentarza.
Atakujący może wykonać dowolny kod JavaScript w kontekście sesji administratora, co umożliwia przejęcie sesji, kradzież poświadczeń lub wykonanie nieautoryzowanych działań administracyjnych w systemie FOG.
Należy zaktualizować FOG Project do wersji 1.5.10.1832 (gałąź stabilna) lub 1.6.0-beta.2313 (gałąź beta), które zawierają poprawkę eliminującą podatność. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do endpointu `/service/inventory.php` wyłącznie do zaufanych hostów.
FOG Project w wersjach wcześniejszych niż 1.5.10.1832 (gałąź stabilna) oraz wcześniejszych niż 1.6.0-beta.2313 (gałąź beta).
Podatność jest szczególnie niebezpieczna, ponieważ endpoint `/service/inventory.php` nie wymaga uwierzytelnienia, co oznacza, że każdy nieuwierzytelniony podmiot w sieci może wstrzyknąć złośliwy payload. Szczegóły zostały opublikowane w ramach security advisory na GitHub FOGProject.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:NFogproject
APPFogproject< 1.5.10.1832
Powiązane podatności
FOG Project – pomijanie uwierzytelnienia umożliwia zrzut bazy danych
FOG Server — wyciek danych uwierzytelniających Active Directory przy rejestracji komputera
Command injection w FOGProject przez parametr filename w export.php
FOG Project: Stored XSS przez pole sysproduct w module inwentaryzacji
FOG Project: nieuwierzytelniony dostęp do metod clearAES i clearPMTasks