{"id":"UBUNTU-CVE-2026-48689","details":"FastNetMon Community Edition through 1.2.9 contains an off-by-one heap-based buffer overflow in the dynamic_binary_buffer_t class (src/dynamic_binary_buffer.hpp). Five methods (append_dynamic_buffer, append_data_as_pointer, append_data_as_object_ptr, memcpy_from_ptr, memcpy_from_object_ptr) use an incorrect bounds check of the form 'if (offset + length \u003e maximum_internal_storage_size + 1)' instead of the correct 'if (offset + length \u003e maximum_internal_storage_size)'. This allows writing exactly one byte past the end of the heap-allocated buffer. The class is used pervasively in BGP message encoding/decoding, NetFlow template processing, and Flow Spec NLRI construction. An attacker who can send network traffic (NetFlow, sFlow, IPFIX, or BGP) to a FastNetMon instance can trigger this overflow, potentially achieving arbitrary code execution by corrupting heap metadata. Notably, the append_byte() method uses the correct bounds check, confirming the inconsistency.","modified":"2026-06-16T05:00:07.435696706Z","published":"2026-05-26T19:16:00Z","related":["USN-8429-1"],"upstream":["CVE-2026-48689"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-48689"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-48689"},{"type":"REPORT","url":"https://lorikeetsecurity.com/blog/fastnetmon-cve-2026-48689-dynamic-buffer-off-by-one"},{"type":"REPORT","url":"https://github.com/pavel-odintsov/fastnetmon/pull/1051"},{"type":"REPORT","url":"https://github.com/pavel-odintsov/fastnetmon/commit/fa80390ed446f887ca6fa39c9e5b6fff8846e822"},{"type":"REPORT","url":"https://github.com/pavel-odintsov/fastnetmon"},{"type":"REPORT","url":"https://github.com/pavel-odintsov/fastnetmon/blob/master/src/dynamic_binary_buffer.hpp"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-8429-1"}],"affected":[{"package":{"name":"fastnetmon","ecosystem":"Ubuntu:Pro:24.04:LTS","purl":"pkg:deb/ubuntu/fastnetmon?arch=source&distro=esm-apps%2Fnoble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.6-1ubuntu0.1~esm1"}]}],"versions":["1.2.5-1","1.2.6-1","1.2.6-1build1","1.2.6-1build2","1.2.6-1build3","1.2.6-1build4"],"ecosystem_specific":{"binaries":[{"binary_name":"fastnetmon","binary_version":"1.2.6-1ubuntu0.1~esm1"}],"availability":"Available with Ubuntu Pro: https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48689.json"}},{"package":{"name":"fastnetmon","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/fastnetmon?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.2.8-1build1","1.2.8-1build2","1.2.8+git20250911-1"],"ecosystem_specific":{"binaries":[{"binary_version":"1.2.8+git20250911-1","binary_name":"fastnetmon"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48689.json"}},{"package":{"name":"fastnetmon","ecosystem":"Ubuntu:Pro:26.04:LTS","purl":"pkg:deb/ubuntu/fastnetmon?arch=source&distro=esm-apps%2Fresolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.8+git20250911-2ubuntu0.1~esm1"}]}],"versions":["1.2.8+git20250911-1","1.2.8+git20250911-1build1","1.2.8+git20250911-1build2","1.2.8+git20250911-2"],"ecosystem_specific":{"binaries":[{"binary_name":"fastnetmon","binary_version":"1.2.8+git20250911-2ubuntu0.1~esm1"}],"availability":"Available with Ubuntu Pro: https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48689.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}