VYPR
advisoryPublished May 31, 2026· 1 source

15 CVEs Disclosed in FastNetmon CE: Critical BGP, Command Injection, and Authentication Flaws Exposed

A batch of 15 CVEs was disclosed against the open-source DDoS detection tool FastNetmon Community Edition, including three critical-severity BGP parsing bugs and unauthenticated command injection.

On May 26, 2026, security researchers published a coordinated disclosure of 15 vulnerabilities affecting FastNetmon Community Edition (FastNetmon CE) through version 1.2.9. FastNetmon CE is an open-source DDoS detection and network monitoring tool developed by Pavel Odintsov, widely deployed for high-speed network telemetry analysis. The disclosed vulnerabilities span multiple attack surfaces, including critical BGP protocol parsing flaws, OS command injection in router integration plugins, a completely unauthenticated gRPC API, and multiple memory safety issues in NetFlow and packet processing modules. Three of the CVEs carry a Critical severity rating (CVSS 9.8), making this one of the most significant security disclosures for the project to date.

Three critical BGP parsing bugs dominate the disclosure. CVE-2026-48686 is a stack-based buffer overflow in the NLRI (Network Layer Reachability Information) decoder within the BGP data plane. The vulnerable function, decode_bgp_subnet_encoding_ipv4_raw(), reads a prefix_bit_length value directly from an incoming BGP packet without validating that it is ≤ 32 for IPv4. This allows a malicious BGP peer to overflow a fixed-size stack buffer, potentially achieving remote code execution. CVE-2026-48689 is an off-by-one heap-based buffer overflow in the dynamic_binary_buffer_t class, affecting five methods that use an incorrect bounds comparison. CVE-2026-48691 is an integer overflow in the BGP AS_PATH attribute encoder — the attribute_length is computed as sizeof(bgp_as_path_segment_element_t) + this->as_path_asns.size() * sizeof(uint32_t) and stored in a uint16_t, enabling heap corruption via crafted BGP updates. All three can be triggered by a malicious BGP peer sending a specially crafted route announcement.

In addition to the critical core parsing flaws, three other BGP-related vulnerabilities were disclosed. CVE-2026-48688 (High, 7.5) covers multiple out-of-bounds reads in the BGP MP_REACH_NLRI IPv6 attribute decoder — the source code at src/bgp_protocol.cpp line 156 even contains a TODO comment acknowledging the need for sanity checks. CVE-2026-48685 (Medium, 6.5) is an out-of-bounds memory access caused by incorrect parsing of BGP path attributes with the extended length flag set. CVE-2026-48696 (Medium, 6.2) is a separate buffer overflow in the BGP code, distinct from the two other overflow CVEs. Taken together, these six BGP-layer vulnerabilities mean that any FastNetmon instance peering with an untrusted BGP speaker is exposed to remote compromise or denial of service.

Two critical-severity OS command injection flaws were found in the Juniper and MikroTik integration plugins. CVE-2026-48687 (Critical, 9.8) affects the Juniper plugin's _log() function in src/juniper_plugin/fastnetmon_juniper.php (lines 117-118), which concatenates the $msg parameter directly into exec() calls. CVE-2026-48695 (High, 8.1) does the same in the MikroTik plugin's _log() function in src/mikrotik_plugin/fastnetmon_mikrotik.php. An attacker who can influence log messages — or trigger the plugin with crafted input — can execute arbitrary OS commands on the FastNetmon server. Additionally, CVE-2026-48694 (High, 8.1) is a configuration injection in the Juniper plugin where the $IP_ATTACK variable from argv[1] is directly interpolated into Juniper NETCONF set-configuration commands, allowing an attacker to inject arbitrary router configuration changes.

Missing authentication and TLS verification complete the security picture. CVE-2026-48692 (High, 8.1) exposes a gRPC API server on port 50052 with no authentication at all — the server is initialized with grpc::InsecureServerCredentials() and a source code comment explicitly acknowledges the lack of authentication. Any network-accessible attacker can query or manipulate the FastNetmon instance via gRPC. CVE-2026-48697 (High, 7.4) reveals that the function execute_web_request_secure() loads CA certificates but never calls set_verify_mode(), meaning all outbound HTTPS connections are made without verifying the remote server's TLS certificate, enabling man-in-the-middle attacks on any API calls or webhooks the tool makes.

Additional memory safety issues were disclosed in packet and NetFlow processing. CVE-2026-48690 (High, 7.1) is an integer overflow in packet capture buffer allocation in src/packet_storage.hpp, where the multiplication buffer_size_in_packets * (max_captured_packet_size + sizeof(fastnetmon_pcap_pkthdr_t)) can overflow, leading to undersized buffer allocation. CVE-2026-48684 and CVE-2026-48683 (both Medium, 6.5) are out-of-bounds reads in the NetFlow v9 collector — the options template parser and the data flowset processor, respectively — where iteration bounds are not properly checked against the packet end. CVE-2026-48693 (Medium, 5.5) is a local symlink attack via the predictable /tmp/fastnetmon.dat statistics file path, allowing a local attacker to redirect writes to an arbitrary file.

All 15 CVEs affect FastNetmon Community Edition through version 1.2.9. Users are strongly advised to upgrade to the latest patched version as soon as it becomes available. For deployments that cannot immediately upgrade, mitigations include: restricting BGP peering to trusted and authenticated peers only, blocking network access to port 50052 (gRPC) from untrusted networks, and reviewing any use of the Juniper and MikroTik plugins for exposure to untrusted input. The vulnerabilities were disclosed via the CVE assignment process on May 26, 2026, and system administrators running FastNetmon in production should treat this disclosure with high urgency.

Synthesized by Vypr AI