FastNetMon Community Edition through 1.2.9 contains multiple out-of-bounds reads in the BGP MP_REACH_NLRI IPv6 attribute decoder. The function decode_mp_reach_ipv6() in src/bgp_protocol.cpp contains a TODO comment at line 156 explicitly acknowledging 'we should add sanity checks to avoid reads after attribute memory block.' The function casts raw pointers to structure types without verifying sufficient data exists (line 158), uses the attacker-controlled length_of_next_hop field to determine memcpy size (line 181), and computes prefix_length by dereferencing a pointer calculated from multiple attacker-controlled offsets without bounds validation (line 189). The prefix_length is then used to calculate number_of_bytes_required_for_prefix which becomes a memcpy length (line 202) with no check against remaining buffer size.
Advisories
No advisories yet.
Fixes
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
References
History
Tue, 26 May 2026 16:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Title | FastNetMon Community Edition BGP MP_REACH_NLRI IPv6 Decoder Out-of-Bounds Read | |
| First Time appeared |
Pavel-odintsov
Pavel-odintsov fastnetmon |
|
| Weaknesses | CWE-125 CWE-200 |
|
| Vendors & Products |
Pavel-odintsov
Pavel-odintsov fastnetmon |
Tue, 26 May 2026 15:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | FastNetMon Community Edition through 1.2.9 contains multiple out-of-bounds reads in the BGP MP_REACH_NLRI IPv6 attribute decoder. The function decode_mp_reach_ipv6() in src/bgp_protocol.cpp contains a TODO comment at line 156 explicitly acknowledging 'we should add sanity checks to avoid reads after attribute memory block.' The function casts raw pointers to structure types without verifying sufficient data exists (line 158), uses the attacker-controlled length_of_next_hop field to determine memcpy size (line 181), and computes prefix_length by dereferencing a pointer calculated from multiple attacker-controlled offsets without bounds validation (line 189). The prefix_length is then used to calculate number_of_bytes_required_for_prefix which becomes a memcpy length (line 202) with no check against remaining buffer size. | |
| References |
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: mitre
Published:
Updated: 2026-05-26T15:00:08.012Z
Reserved: 2026-05-22T00:00:00.000Z
Link: CVE-2026-48688
No data.
Status : Received
Published: 2026-05-26T16:16:26.903
Modified: 2026-05-26T16:16:26.903
Link: CVE-2026-48688
No data.
OpenCVE Enrichment
Updated: 2026-05-26T16:30:10Z