FastNetMon Community Edition do wersji 1.2.9 zawiera podatność integer overflow w kodowaniu atrybutu BGP AS_PATH, która prowadzi do przepełnienia bufora na stercie (heap buffer overflow). Ze względu na brak uwierzytelnienia i sieciowy wektor ataku podatność jest oceniana jako krytyczna (CVSS 9.8).
▸ Pokaż oryginał (EN)
FastNetMon Community Edition through 1.2.9 contains an integer overflow in the BGP AS_PATH attribute encoder. In src/bgp_protocol.hpp, the IPv4UnicastAnnounce::get_attributes() function computes attribute_length as 'sizeof(bgp_as_path_segment_element_t) + this->as_path_asns.size() * sizeof(uint32_t)' and stores it in a uint8_t field (line 600-605). Since uint8_t can only hold values 0-255, an AS_PATH containing more than 63 ASNs (2 + 64*4 = 258 > 255) causes silent truncation. The truncated length is used for buffer sizing, while the actual data written is the full untruncated amount, resulting in a heap buffer overflow. Similarly, the path_segment_length field at line 621 is also uint8_t, truncating with more than 255 ASNs.
W pliku src/bgp_protocol.hpp funkcja IPv4UnicastAnnounce::get_attributes() oblicza długość atrybutu AS_PATH jako wyrażenie 'sizeof(bgp_as_path_segment_element_t) + liczba_ASN * sizeof(uint32_t)' i przechowuje wynik w zmiennej typu uint8_t, która może przyjmować wyłącznie wartości 0–255. Gdy ścieżka AS_PATH zawiera więcej niż 63 numery ASN, obliczona wartość przekracza 255 (np. 2 + 64*4 = 258), co powoduje ciche obcięcie (silent truncation) do nieprawidłowej, mniejszej wartości. Obcięta długość jest używana do alokacji bufora, natomiast do pamięci zapisywana jest pełna, nieobcięta ilość danych, co skutkuje heap buffer overflow. Analogiczny problem dotyczy pola path_segment_length w linii 621, które również jest uint8_t i ulega obcięciu przy ponad 255 numerach ASN.
Atakujący może doprowadzić do zapisu danych poza granicami przydzielonego bufora na stercie, co może skutkować wykonaniem dowolnego kodu (RCE), a co najmniej awaryjnym zakończeniem procesu (denial of service). Podatność nie wymaga uwierzytelnienia ani interakcji użytkownika.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do usługi BGP FastNetMon wyłącznie do zaufanych peerów oraz monitorowanie anomalii w ruchu BGP.
FastNetMon Community Edition w wersjach do 1.2.9 włącznie (produkt Pavel-Odintsov/fastnetmon).
Szczegółowy opis techniczny podatności opublikowany został przez Lorikeetsecurity pod adresem https://lorikeetsecurity.com/blog/fastnetmon-cve-2026-48691-bgp-as-path-overflow. Podatność dotyczy kodu w pliku src/bgp_protocol.hpp w repozytorium GitHub producenta.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HPavel Odintsov Fastnetmon
APPPavel-Odintsov≤ 1.2.9
Powiązane podatności
Stack buffer overflow w FastNetMon — RCE przez BGP NLRI
FastNetMon: off-by-one heap buffer overflow umożliwiający RCE
Command injection w pluginie Juniper FastNetMon Community Edition
FastNetMon Community Edition through 1.2.9 contains multiple out-of-bounds reads in the BGP MP_REACH_NLRI IPv6...
FastNetMon Community Edition through 1.2.9 contains an integer overflow vulnerability in the packet capture bu...