CVE-2026-48685
MediumCVSS 6.5Exploitation Probability (EPSS)
Low risk22th percentile - higher than 22% of all known CVEs
Summary
FastNetMon Community Edition up to version 1.2.9 has an out-of-bounds memory access vulnerability when parsing BGP path attributes with the extended length flag set. The parse_raw_bgp_attribute() function reads only one byte for the attribute length instead of two, leading to parse errors and potential out-of-bounds access.
Risk Assessment
An attacking BGP peer can remotely crash FastNetMon or leak memory data.
Recommendation
Update FastNetMon to version 1.3.0 or later if available, or apply a patch.
Other vulnerabilities in FastNetMon
See all- CVE-2026-48689Critical
FastNetMon Community Edition through 1.2.9 contains an off-by-one heap-based buffer overflow in the dynamic_binary_buffer_t class. Five methods use an incorrect bounds check, allowing writing exactly one byte past the end of the heap-allocated buffer. An attacker sending network traffic (NetFlow, sFlow, IPFIX, or BGP) can trigger this overflow, potentially achieving arbitrary code execution.
- CVE-2026-48691Critical
Integer overflow in FastNetMon Community Edition up to 1.2.9 in the BGP AS_PATH attribute encoder leads to a heap buffer overflow.
- CVE-2026-48687Critical
FastNetMon Community Edition up to version 1.2.9 contains an OS command injection vulnerability in the Juniper router integration plugin. The _log() function in src/juniper_plugin/fastnetmon_juniper.php (lines 117-118) constructs shell commands by concatenating the $msg parameter directly into exec() calls. The $msg variable contains unsanitized data derived from command-line arguments argv[1] through argv[3], representing the attack IP address, direction, and power.
- CVE-2026-48686Critical
FastNetMon Community Edition through 1.2.9 contains a stack-based buffer overflow in the BGP NLRI decoder. The function decode_bgp_subnet_encoding_ipv4_raw() in src/bgp_protocol.cpp reads prefix_bit_length directly from the BGP packet without validating it is <= 32 for IPv4 prefixes. This value is passed to how_much_bytes_we_need_for_storing_certain_subnet_mask() which computes ceil(prefix_bit_length / 8), returning up to 32 bytes for a prefix_bit_length of 255. The result is used as the length argument to memcpy() copying into a 4-byte uint32_t stack variable (prefix_ipv4), causing a stack buffer overflow of up to 28 bytes, which can be exploited for arbitrary code execution. Additionally, the unvalidated prefix_bit_length is passed to convert_cidr_to_binary_netmask_local_function_copy(), where a shift of (32 - cidr) with cidr > 32 causes undefined behavior.
- CVE-2026-48682Medium
FastNetMon Community Edition through 1.2.9 has an out-of-bounds read in the IPv4 packet parser. After validating at least 20 bytes, the code advances the pointer by 4 * IHL without checking IHL >= 5 or available bytes. IHL=15 with only 20 bytes causes a 40-byte over-read; IHL 0-4 leads to type confusion.
- CVE-2026-48696Medium
FastNetMon Community Edition up to version 1.2.9 has a buffer overflow. This is a different vulnerability than CVE-2026-48686 and CVE-2026-48689.
- CVE-2026-48695High
FastNetMon Community Edition up to version 1.2.9 contains an OS command injection vulnerability in the MikroTik router integration plugin. The _log() function in src/mikrotik_plugin/fastnetmon_mikrotik.php (lines 107-108) constructs shell commands by concatenating the $msg parameter directly into exec() calls. An attacker who can influence argv[] values can inject arbitrary shell commands.
- CVE-2026-48694High
FastNetMon Community Edition up to version 1.2.9 has a configuration injection vulnerability in the Juniper router integration plugin. The $IP_ATTACK variable (from argv[1]) is directly interpolated into NETCONF commands without validation, allowing an attacker to inject additional Juniper CLI commands via newline characters. This can lead to modification of routing tables, firewall filters, user accounts, and other configuration elements.
- CVE-2026-48693Medium
Vulnerability in FastNetMon Community Edition up to version 1.2.9. A local attacker can exploit predictable file paths in /tmp to overwrite arbitrary files as the FastNetMon user (typically root).
- CVE-2026-48692High
FastNetMon Community Edition up to 1.2.9 exposes an unauthenticated gRPC API on port 50052. An attacker with network access can ban IPs, unban attacks, and execute external scripts.
Original NVD description (English source)
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.

