CVE-2026-39894
NiskieCVSS 2.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 — wyżej niż 1% wszystkich znanych CVE
Streszczenie
W Cacti w wersjach 1.2.30 i starszych, funkcja rrdtool_function_update() używa lokalnie zależnego formatowania dziesiętnego, co może powodować uszkodzenie wartości metryk RRDtool. Gdy lokalizacja serwera używa przecinka jako separatora dziesiętnego (np. de_DE), wartość 1.5 jest konwertowana na „1,5”, podczas gdy RRDtool oczekuje kropki. Prowadzi to do przesunięcia danych do niewłaściwych kolumn lub ich cichego pominięcia.
Ocena ryzyka
Ryzyko polega na utracie integralności danych monitorowanych przez Cacti, co może skutkować błędnymi odczytami metryk i fałszywymi alarmami. Podatność nie jest zdalnie wykorzystywalna i wymaga błędnej konfiguracji lokalizacji serwera.
Rekomendacja
Należy niezwłocznie zaktualizować Cacti do wersji 1.2.31 lub nowszej. Dodatkowo, zaleca się sprawdzenie i ustawienie poprawnej lokalizacji serwera (LC_NUMERIC) na wartość używającą kropki jako separatora dziesiętnego.
Oryginalny opis (angielski, źródło NVD)
Cacti is an open source performance and fault management framework. In versions 1.2.30 and below, the locale-dependent decimal formatting in rrdtool_function_update() can corrupt RRDtool metric values. The rrdtool_function_update() function checks metric values with is_numeric() and concatenates them into the RRDtool update command via PHP string interpolation. PHP's string cast of floats is locale-sensitive: if LC_NUMERIC uses comma as decimal separator (e.g., de_DE), a value of 1.5 becomes "1,5". RRDtool expects . as decimal separator, causing metric data to shift into wrong columns or be silently dropped. No setlocale() reset is present in the update path. This causes a data integrity issue, but is not remotely exploitable; it requires server locale misconfiguration. The issue has been fixed in version 1.2.31.

