Katalog CVE

CVE-2026-48687

KrytyczneCVSS 9.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Podwyższone ryzyko
1.65%

Percentyl 74 - wyżej niż 74% wszystkich znanych CVE

Streszczenie

FastNetMon Community Edition do wersji 1.2.9 zawiera podatność na wstrzykiwanie poleceń systemu operacyjnego w pluginie integracji z routerami Juniper. Funkcja _log() w pliku src/juniper_plugin/fastnetmon_juniper.php (linie 117-118) konstruuje polecenia powłoki poprzez konkatenację parametru $msg bezpośrednio w wywołaniach exec(). Parametr $msg zawiera niesanetyzowane dane pochodzące z argumentów wiersza poleceń argv[1] do argv[3], reprezentujących adres IP ataku, kierunek i siłę.

Ocena ryzyka

Ryzyko polega na możliwości zdalnego wykonania dowolnych poleceń systemowych przez atakującego, jeśli skrypt zostanie wywołany bezpośrednio, przez inny system orkiestracji lub w wyniku przyszłych zmian w kodzie przekazujących adresy IP z ciągów znaków. Może to prowadzić do pełnego przejęcia serwera i naruszenia poufności, integralności oraz dostępności danych.

Rekomendacja

Należy natychmiast zaktualizować FastNetMon do wersji 1.2.10 lub nowszej, która zawiera poprawkę. Jeśli aktualizacja nie jest możliwa, należy zastąpić wywołania exec() funkcją file_put_contents() lub zastosować escapeshellarg() na wszystkich parametrach przekazywanych do powłoki.

Inne podatności w FastNetMon

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

FastNetMon Community Edition through 1.2.9 contains an OS command injection vulnerability in the Juniper router integration plugin. The _log() function in src/juniper_plugin/fastnetmon_juniper.php (lines 117-118) constructs shell commands by concatenating the $msg parameter directly into exec() calls: exec("echo `date` \"- {FASTNETMON] - " . $msg . " \" >> " . $FILE_LOG_TMP). The $msg variable contains unsanitized data derived from command-line arguments argv[1] through argv[3], which represent the attack IP address, direction, and power. While FastNetMon's C++ core currently passes IP addresses via inet_ntoa() (which only produces safe dotted-decimal notation), the PHP script performs no input validation or shell escaping. If the script is invoked directly, by another orchestration system, or if future code changes pass string-sourced IPs, arbitrary commands can be injected. The correct fix is to replace exec() with file_put_contents() or use escapeshellarg() on all parameters.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS