CVE-2026-48693
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
Podatność w FastNetMon Community Edition do wersji 1.2.9. Lokalny atakujący może wykorzystać przewidywalne ścieżki plików w /tmp do nadpisania dowolnych plików jako użytkownik FastNetMon (zazwyczaj root).
Ocena ryzyka
Atakujący może nadpisać krytyczne pliki systemowe, co prowadzi do eskalacji uprawnień lub całkowitego przejęcia systemu.
Rekomendacja
Zaktualizuj FastNetMon do najnowszej wersji lub zastosuj obejście polegające na zmianie ścieżki pliku statystyk na bezpieczną lokalizację.
Inne podatności w FastNetMon
Zobacz wszystkie- CVE-2026-48689Krytyczne
FastNetMon Community Edition do wersji 1.2.9 zawiera przepełnienie bufora sterty o jeden bajt w klasie dynamic_binary_buffer_t. Pięć metod używa nieprawidłowego sprawdzenia granic, co pozwala na zapis o jeden bajt poza przydzielonym buforem. Atakujący wysyłający ruch sieciowy (NetFlow, sFlow, IPFIX lub BGP) może wywołać to przepełnienie, potencjalnie prowadząc do zdalnego wykonania kodu.
- CVE-2026-48691Krytyczne
Przepełnienie liczby całkowitej w FastNetMon Community Edition do wersji 1.2.9 w enkoderze atrybutu BGP AS_PATH prowadzi do przepełnienia bufora sterty.
- CVE-2026-48687Krytyczne
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łę.
- CVE-2026-48686Krytyczne
FastNetMon Community Edition do wersji 1.2.9 zawiera przepełnienie bufora na stosie w dekoderze BGP NLRI. Funkcja decode_bgp_subnet_encoding_ipv4_raw() w src/bgp_protocol.cpp odczytuje prefix_bit_length bezpośrednio z pakietu BGP bez walidacji, czy jest <= 32 dla prefiksów IPv4. Wartość ta jest przekazywana do how_much_bytes_we_need_for_storing_certain_subnet_mask(), która oblicza ceil(prefix_bit_length / 8), zwracając do 32 bajtów dla prefix_bit_length równego 255. Wynik jest używany jako argument długości w memcpy() kopiującym do 4-bajtowej zmiennej stosowej uint32_t (prefix_ipv4), powodując przepełnienie bufora o maksymalnie 28 bajtów, co może być wykorzystane do wykonania dowolnego kodu. Dodatkowo, niezweryfikowany prefix_bit_length jest przekazywany do convert_cidr_to_binary_netmask_local_function_copy(), gdzie przesunięcie (32 - cidr) z cidr > 32 powoduje niezdefiniowane zachowanie.
- CVE-2026-48682Średnie
FastNetMon Community Edition do wersji 1.2.9 zawiera odczyt poza zakresem w parserze pakietów IPv4. W pliku src/simple_packet_parser_ng.cpp, po walidacji, że pakiet zawiera co najmniej 20 bajtów, kod przesuwa wskaźnik o 4 * IHL bez sprawdzenia, czy IHL >= 5 i czy dostępne są odpowiednie bajty. IHL o wartości 15 przy tylko 20 bajtach powoduje odczyt 40 bajtów poza zakresem; IHL 0-4 prowadzi do błędnej interpretacji nagłówków.
- CVE-2026-48696Średnie
FastNetMon Community Edition do wersji 1.2.9 zawiera przepełnienie bufora. Jest to inna podatność niż CVE-2026-48686 i CVE-2026-48689.
- CVE-2026-48695Wysokie
FastNetMon Community Edition do wersji 1.2.9 zawiera podatność na wstrzykiwanie poleceń systemu operacyjnego w pluginie integracji z routerami MikroTik. Funkcja _log() w pliku src/mikrotik_plugin/fastnetmon_mikrotik.php (linie 107-108) konstruuje polecenia powłoki poprzez konkatenację parametru $msg bezpośrednio w wywołaniu exec(). Atakujący, który może wpływać na wartości argv[], może wstrzyknąć dowolne polecenia powłoki.
- CVE-2026-48694Wysokie
FastNetMon Community Edition do wersji 1.2.9 zawiera podatność iniekcji konfiguracji w pluginie integracji z routerami Juniper. Zmienna $IP_ATTACK (z argv[1]) jest bezpośrednio interpolowana do komend NETCONF bez walidacji, co pozwala atakującemu na wstrzyknięcie dodatkowych komend CLI Junipera poprzez znaki nowej linii. Może to prowadzić do modyfikacji tablic routingu, filtrów firewall, kont użytkowników i innych elementów konfiguracji.
- CVE-2026-48692Wysokie
FastNetMon Community Edition do wersji 1.2.9 udostępnia serwer gRPC na porcie 50052 bez uwierzytelnienia. Atakujący z dostępem sieciowym może wykonywać krytyczne operacje, takie jak banowanie IP, odbanowywanie ataków oraz uruchamianie skryptów zewnętrznych.
- CVE-2026-48688Wysokie
FastNetMon Community Edition do wersji 1.2.9 zawiera wiele odczytów poza zakresem w dekoderze atrybutów BGP MP_REACH_NLRI IPv6. Funkcja decode_mp_reach_ipv6() nie sprawdza poprawności danych przed ich użyciem, co pozwala atakującemu na kontrolowanie długości pól i wywołanie odczytu poza przydzieloną pamięcią.
Oryginalny opis (angielski, źródło NVD)
FastNetMon Community Edition through 1.2.9 is vulnerable to a local symlink attack via predictable file paths in /tmp. The statistics file path defaults to '/tmp/fastnetmon.dat' (src/fastnetmon.cpp line 159). The print_screen_contents_into_file() function (src/fastnetmon_logic.cpp line 2186) opens this path with std::ios::trunc without checking for symlinks or using O_NOFOLLOW. Additionally, the chmod() call on line 2190 always operates on cli_stats_file_path regardless of which file_path parameter was passed (a bug that applies wrong permissions), and the umask is set to 0 during daemonization (src/fastnetmon.cpp line 1821), making all created files world-writable. A local attacker can exploit this to overwrite arbitrary files as the FastNetMon process user (typically root).

