CVE-2026-48688
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
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ą.
Ocena ryzyka
Atakujący może zdalnie spowodować awarię aplikacji lub potencjalnie wykonać dowolny kod, co prowadzi do naruszenia integralności i dostępności systemu monitorującego sieć.
Rekomendacja
Należy natychmiast zaktualizować FastNetMon do wersji zawierającej poprawki zabezpieczeń. Jeśli nie jest dostępna, należy ograniczyć dostęp do usługi BGP i monitorować ruch sieciowy.
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-48693Średnie
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).
- 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.
Oryginalny opis (angielski, źródło NVD)
FastNetMon Community Edition through 1.2.9 contains multiple out-of-bounds reads in the BGP MP_REACH_NLRI IPv6 attribute decoder. The function decode_mp_reach_ipv6() in src/bgp_protocol.cpp contains a TODO comment at line 156 explicitly acknowledging 'we should add sanity checks to avoid reads after attribute memory block.' The function casts raw pointers to structure types without verifying sufficient data exists (line 158), uses the attacker-controlled length_of_next_hop field to determine memcpy size (line 181), and computes prefix_length by dereferencing a pointer calculated from multiple attacker-controlled offsets without bounds validation (line 189). The prefix_length is then used to calculate number_of_bytes_required_for_prefix which becomes a memcpy length (line 202) with no check against remaining buffer size.

