W Cacti w wersjach 1.2.30 i wcześniejszych zmienna żądania rfilter była wstawiana bezpośrednio do klauzuli SQL RLIKE bez sanityzacji wejścia. Podatność jest szczególnie groźna, ponieważ podatny endpoint nie wymaga uwierzytelnienia — jest dostępny dla gości, jeśli włączono funkcję guest viewing.
▸ Pokaż oryginał (EN)
Cacti is an open source performance and fault management framework. In versions 1.2.30 and prior, the rfilter request variable was concatenated into a RLIKE SQL clause without sanitization. The endpoint does not require authentication (graph viewing supports guest access via the configured guest user), so the SQLi was reachable pre-auth on installs with guest viewing enabled. This issue was fixed in version 1.2.31.
Parametr rfilter przekazywany w żądaniu HTTP był bezpośrednio konkatenowany do zapytania SQL w klauzuli RLIKE bez żadnej walidacji ani parametryzacji (CWE-89). Endpoint odpowiedzialny za przeglądanie wykresów obsługuje dostęp gości za pośrednictwem skonfigurowanego konta guest, co oznacza, że atakujący nieuwierzytelniony może wysłać spreparowane żądanie do instalacji z włączoną opcją gościnnego przeglądania. Pozwala to na wykonanie dowolnych zapytań SQL w kontekście bazy danych aplikacji.
Atakujący bez żadnego uwierzytelnienia może uzyskać nieautoryzowany dostęp do poufnych danych przechowywanych w bazie danych, modyfikować je lub je niszczyć, a w zależności od konfiguracji serwera bazy danych potencjalnie eskalować dostęp do systemu operacyjnego.
Należy zaktualizować Cacti do wersji 1.2.31, w której problem został naprawiony. Do czasu aktualizacji zaleca się wyłączenie funkcji gościnnego dostępu do wykresów (guest viewing) w konfiguracji aplikacji.
Cacti w wersjach 1.2.30 i wcześniejszych, na których włączona jest funkcja gościnnego przeglądania wykresów (guest viewing).
Podatność została naprawiona w wersji 1.2.31. Szczegóły techniczne oraz poprawka dostępne są w pull request #7039 w repozytorium projektu na GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCacti
APPCacti< 1.2.31
Powiązane podatności
Cacti is an open source platform which provides a robust and extensible operational monitoring and fault manag...
Cacti: Pre-auth SQL injection przez parametr rfilter (SQLi)
SQL Injection przed uwierzytelnieniem w Cacti (graph_view.php)
Niezautoryzowany path traversal i command injection w Cacti (LFI)
Cacti: Command Injection przez malformowane OID w parserze SNMP