CRITICAL🇬🇧 English

CVE-2026-48691

FastNetMon: integer overflow w enkodowaniu BGP AS_PATH prowadzący do heap buffer overflow

CVSS 9.8pub. 2026-05-26upd. 2026-05-27

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

FastNetMon Community Edition w wersjach do 1.2.9 włącznie (produkt Pavel-Odintsov/fastnetmon).

Uwagi

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 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Pavel Odintsov Fastnetmon

    APP
    Pavel-Odintsov
    ≤ 1.2.9
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Memory
CWE
Referencje

Powiązane podatności

CVE-2026-48686CRITICAL9.8PL ✓ten sam produkt

Stack buffer overflow w FastNetMon — RCE przez BGP NLRI

CVE-2026-48689CRITICAL9.8PL ✓ten sam produkt

FastNetMon: off-by-one heap buffer overflow umożliwiający RCE

CVE-2026-48687CRITICAL9.8PL ✓ten sam produkt

Command injection w pluginie Juniper FastNetMon Community Edition

CVE-2026-48688HIGH7.5ten sam produkt

FastNetMon Community Edition through 1.2.9 contains multiple out-of-bounds reads in the BGP MP_REACH_NLRI IPv6...

CVE-2026-48690HIGH7.1ten sam produkt

FastNetMon Community Edition through 1.2.9 contains an integer overflow vulnerability in the packet capture bu...