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.
History

Wed, 27 May 2026 00:45:00 +0000

Type Values Removed Values Added
Title Out-of-Bounds Read in FastNetMon BGP IPv6 Parser

Tue, 26 May 2026 23:30:00 +0000

Type Values Removed Values Added
Title FastNetMon Community Edition BGP MP_REACH_NLRI IPv6 Decoder Out-of-Bounds Read
Weaknesses CWE-200

Tue, 26 May 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


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

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published: 2026-05-26T00:00:00.000Z

Updated: 2026-05-26T20:52:49.002Z

Reserved: 2026-05-22T00:00:00.000Z

Link: CVE-2026-48688

cve-icon Vulnrichment

Updated: 2026-05-26T20:51:41.423Z

cve-icon NVD

Status : Undergoing Analysis

Published: 2026-05-26T16:16:26.903

Modified: 2026-05-26T21:16:42.763

Link: CVE-2026-48688

cve-icon Redhat

No data.