You are viewing this page in an unauthorized frame window.
This is a potential security issue, you are being redirected to
https://nvd.nist.gov
An official website of the United States government
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
Secure .gov websites use HTTPS
A lock () or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.
FastNetMon Community Edition through 1.2.9 contains a stack-based buffer overflow in the BGP NLRI (Network Layer Reachability Information) decoder. The function decode_bgp_subnet_encoding_ipv4_raw() in src/bgp_protocol.cpp reads prefix_bit_length directly from the BGP packet (line 99) 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() (line 106), which copies into a 4-byte uint32_t stack variable (prefix_ipv4). This causes 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() (line 111), where a shift of (32 - cidr) with cidr > 32 causes undefined behavior.
Metrics
NVD enrichment efforts reference publicly available information to associate
vector strings. CVSS information contributed by other sources is also
displayed.
By selecting these links, you will be leaving NIST webspace.
We have provided these links to other web sites because they
may have information that would be of interest to you. No
inferences should be drawn on account of other sites being
referenced, or not, from this page. There may be other web
sites that are more appropriate for your purpose. NIST does
not necessarily endorse the views expressed, or concur with
the facts presented on these sites. Further, NIST does not
endorse any commercial products that may be mentioned on
these sites. Please address comments about this page to [email protected].
Title: FastNetMon Community Edition, Description: FastNetMon Community Edition hasta la versión 1.2.9 contiene un desbordamiento de búfer basado en pila en el decodificador BGP NLRI (Información de Alcance de Capa de Red). La función decode_bgp_subnet_encoding_ipv4_raw() en src/bgp_protocol.cpp lee prefix_bit_length directamente del paquete BGP (línea 99) sin validar que sea <= 32 para prefijos IPv4. Este valor se pasa a how_much_bytes_we_need_for_storing_certain_subnet_mask() que calcula ceil(prefix_bit_length / 8), devolviendo hasta 32 bytes para un prefix_bit_length de 255. El resultado se utiliza como argumento de longitud para memcpy() (línea 106), que copia en una variable de pila uint32_t de 4 bytes (prefix_ipv4). Esto causa un desbordamiento de búfer basado en pila de hasta 28 bytes, que puede ser explotado para ejecución de código arbitrario. Además, el prefix_bit_length no validado se pasa a convert_cidr_to_binary_netmask_local_function_copy() (línea 111), donde un desplazamiento de (32 - cidr) con cidr > 32 causa un comportamiento indefinido.
MITRE: https://lorikeetsecurity.com/blog/fastnetmon-cve-2026-48686-bgp-nlri-stack-overflow Types: Third Party Advisory
CVE Modified by CISA-ADP5/26/2026 5:16:42 PM
Action
Type
Old Value
New Value
Added
CVSS V3.1
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Added
CWE
CWE-120
Added
CWE
CWE-787
New CVE Received from MITRE5/26/2026 12:16:26 PM
Action
Type
Old Value
New Value
Added
Description
FastNetMon Community Edition through 1.2.9 contains a stack-based buffer overflow in the BGP NLRI (Network Layer Reachability Information) decoder. The function decode_bgp_subnet_encoding_ipv4_raw() in src/bgp_protocol.cpp reads prefix_bit_length directly from the BGP packet (line 99) 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() (line 106), which copies into a 4-byte uint32_t stack variable (prefix_ipv4). This causes 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() (line 111), where a shift of (32 - cidr) with cidr > 32 causes undefined behavior.