CVE-2026-48685
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
FastNetMon Community Edition do wersji 1.2.9 zawiera podatność na odczyt poza zakresem pamięci podczas parsowania atrybutów ścieżki BGP z ustawioną flagą rozszerzonej długości. Funkcja parse_raw_bgp_attribute() odczytuje tylko jeden bajt dla długości atrybutu zamiast dwóch, co prowadzi do błędów parsowania i potencjalnego dostępu poza pamięć.
Ocena ryzyka
Atakujący peer BGP może zdalnie spowodować awarię FastNetMon lub wyciek danych z pamięci.
Rekomendacja
Należy zaktualizować FastNetMon do wersji 1.3.0 lub nowszej, jeśli dostępna, lub zastosować łatkę.
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 has out-of-bounds memory access because it incorrectly parses BGP path attributes with the extended length flag set. In src/bgp_protocol.hpp, the parse_raw_bgp_attribute() function correctly identifies when extended_length_bit is set and sets length_of_length_field to 2, but then reads only a single byte for the attribute value length (attribute_value_length = value[2] at line 173). Per RFC 4271 Section 4.3, when the Extended Length bit is set, the Attribute Length field is two octets and the value should be read as a 16-bit big-endian integer from value[2] and value[3]. As a result, any attribute longer than 255 bytes has its length silently truncated to the low byte (e.g., 300 bytes = 0x012C is read as 0x2C = 44 bytes). The remaining 256 bytes are then misinterpreted as subsequent attributes, causing cascading parse failures and potential out-of-bounds memory access.

