W systemie FOG (open-source cloning/imaging/inventory) niezautoryzowany atakujący może wstrzyknąć złośliwy kod JavaScript poprzez pole `sysproduct` w endpoincie inwentaryzacji. Payload jest przechowywany w bazie danych i wykonuje się w przeglądarce administratora podczas przeglądania raportu Inventory.
▸ 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 `selectForm()` helper in `fogpage.class.php` renders `<option>` labels using raw, unescaped user input. An unauthenticated attacker who knows any registered host's MAC address can POST a malicious `sysproduct` value to `/service/inventory.php`, which is stored in the database. When an administrator opens Reports > Inventory, the payload breaks out of the `<option>` element and executes arbitrary JavaScript in the admin's browser. Versions 1.5.10.1832 and 1.6.0-beta.2313 fix the issue.
Pomocnik `selectForm()` w pliku `fogpage.class.php` renderuje etykiety elementów `<option>` bez ucieczki (escaping) danych wejściowych od użytkownika. Atakujący, znając adres MAC dowolnego zarejestrowanego hosta, może wysłać żądanie POST z złośliwą wartością `sysproduct` do endpointu `/service/inventory.php` bez uwierzytelnienia. Wartość ta zostaje zapisana w bazie danych. Gdy administrator otwiera widok Reports > Inventory, payload wyłamuje się z elementu `<option>` i wykonuje dowolny kod JavaScript w kontekście sesji administratora.
Atakujący może wykonać dowolny kod JavaScript w przeglądarce administratora, co może prowadzić do przejęcia sesji, kradzieży poświadczeń lub wykonania nieautoryzowanych akcji w panelu administracyjnym.
Należy zaktualizować FOG Project do wersji 1.5.10.1832 (gałąź stabilna) lub 1.6.0-beta.2313 (gałąź beta), w których problem został naprawiony poprzez odpowiednie escapowanie danych wejściowych.
FOG Project w wersjach wcześniejszych niż 1.5.10.1832 oraz wcześniejszych niż 1.6.0-beta.2313
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 w niezabezpieczonym endpoincie inventory
FOG Project: nieuwierzytelniony dostęp do metod clearAES i clearPMTasks