Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Cacti Framework znów dotknięty krytyczną podatnością
Developerzy Cacti nie mają łatwego życia, a ich framework gości na naszych łamach nie po raz pierwszy. Tym razem stało się to za sprawą kilku krytycznych podatności, które zostały załatane w wersji 1.2.27 wydanej 13.05.2024.
Najwyżej wyceniono dwie podatności prowadzące bezpośrednio do RCE (kolejno: CVE-2024-25641 zostało wycenione na 9.1/10 punktów, natomiast CVE-2024-29895 dostało aż 10/10).
CVE-2024-29895 to podatność typu command injection, tym razem pozwalająca na wykonanie dowolnej komendy na systemie bez konieczności uwierzytelnienia!
Tym razem jeden z parametrów wykonywanego polecenia pochodzi tak naprawdę z tzw. “superglobal” variable $SERVER[‘argv’].
W przypadku podatnej konfiguracji PHP pozwalającej na kontrolowanie tej zmiennej przy pomocy URL (włączona opcja register_argc_argv
), każdy może wykonać polecenie na serwerze. Wiele środowisk produkcyjnych w tym oficjalne obrazy dockerowe PHP, posiada konfigurację umożliwiającą atak. Zaprezentowany też został PoC uruchamiający kalkulator.
http://localhost/cacti/cmd_realtime.php?1+1&&calc.exe+1+1+1
CVE-2024-25641 to również podatność pozwalająca na wykonanie kodu każdemu uwierzytelnionemu użytkownikowi, który posiada uprawnienia importowania szablonów (Import Templates privilege). W przedstawionym w zgłoszeniu listingu wskazano miejsce wystąpienia podatności. Funkcja import_package()
nie waliduje w żaden sposób przesyłanych przez użytkownika danych i umożliwia umieszczenie zapisane dowolnych danych w miejscu kontrolowanym przez użytkownika (sekwencje path traversal również przynoszą oczekiwane skutki). To powoduje, że użytkownik może umieścić na serwerze (utworzyć lub nadpisać) plik a następnie go uruchomić.
Jakby tego było mało, zgłoszone (i naprawione) zostały też podatności oznaczone jako “high”, np. SQL injection pozwalający na wykonanie kodu lub podniesienie uprawnień przez uwierzytelnionego użytkownika (CVE-2024-31445).
Zbiór zaprezentowanych i poprawionych w wydaniu 1.2.27 błędów powala. Jeśli używacie Cacti to łatajcie się natychmiast. Warto też rozważyć alternatywne rozwiązania, może lepiej zorientowane pod kątem bezpieczeństwa użytkowników.
~fc