CVE-2026-48686

NameCVE-2026-48686
DescriptionFastNetMon 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1138646

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
fastnetmon (PTS)bookworm, bookworm (security)1.2.4-2+deb12u1vulnerable
trixie1.2.8-1vulnerable
forky, sid1.2.9-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
fastnetmonsource(unstable)1.2.9-1unimportant1138646

Notes

https://lorikeetsecurity.com/blog/fastnetmon-cve-2026-48686-bgp-nlri-stack-overflow
Crosses no meaningful security boundary, if there's an rogue BGP peer, there's bigger issues
https://github.com/pavel-odintsov/fastnetmon/pull/1053
https://github.com/pavel-odintsov/fastnetmon/commit/265a767635767d7a08391dbe7f98f750d2ea04d0 (v1.2.9)

Search for package or bug name: Reporting problems