CVE-2026-39948
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 — wyżej niż 36% wszystkich znanych CVE
Streszczenie
W Cacti w wersjach 1.2.30 i wcześniejszych parametr rfilter jest pobierany przez surowy akcesor grv() zamiast gfrv() z walidacją FILTER_VALIDATE_IS_REGEX i bezpośrednio wstawiany do klauzul SQL RLIKE w plikach lib/html_graph.php i lib/html_tree.php. Te pliki są dostępne przed uwierzytelnieniem przez graph_view.php w instalacjach z włączonym przeglądaniem wykresów dla gości. Ponieważ ładunek z niezbalansowanym cudzysłowem omija walidację wyrażeń regularnych, nieuwierzytelniony atakujący może wstrzyknąć dowolny SQL, naruszając poufność, integralność i dostępność bazy danych.
Ocena ryzyka
Ryzyko dla organizacji obejmuje całkowitą kompromitację bazy danych Cacti, co może prowadzić do wycieku poufnych danych monitorowanych systemów, modyfikacji konfiguracji oraz przerwania działania usług monitorowania.
Rekomendacja
Należy natychmiast zaktualizować Cacti do wersji 1.2.31 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy wyłączyć opcję przeglądania wykresów dla gości w konfiguracji Cacti.
Oryginalny opis (angielski, źródło NVD)
Cacti is an open source performance and fault management framework. In versions 1.2.30 and prior, the rfilter request parameter is retrieved via the raw accessor grv() (rather than gfrv() with FILTER_VALIDATE_IS_REGEX validation) and concatenated directly into RLIKE SQL clauses in lib/html_graph.php and lib/html_tree.php, which are reachable pre-authentication through graph_view.php on installations with guest graph viewing enabled. Because the unbalanced-quote payload bypasses the regex validation that would otherwise reject it, an unauthenticated attacker can inject arbitrary SQL to compromise the confidentiality, integrity, and availability of the database. This advisory is similar to GHSA-69gg-mjfm-jjpc. This issue has been fixed in version 1.2.31.

