Integer Overflow in FastNetMon BGP AS_PATH Encoder Causes Heap Buffer Overflow
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| n/a | n/a | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pavel-odintsov | Fastnetmon |
|
| Source | ID | Title |
|---|---|---|
Debian DSA |
DSA-6375-1 | fastnetmon security update |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.308% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Integer Overflow in FastNetMon BGP AS_PATH Encoder Causes Heap Buffer Overflow |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Heap Buffer Overflow via BGP AS_PATH Overwrite in FastNetMon Community Edition | |
| Weaknesses | CWE-120 |
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-122 | |
| Metrics |
cvssV3_1
|
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:pavel-odintsov:fastnetmon:*:*:*:*:community:*:*:* | |
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Heap Buffer Overflow via BGP AS_PATH Overwrite in FastNetMon Community Edition | |
| First Time appeared |
Pavel-odintsov
Pavel-odintsov fastnetmon |
|
| Weaknesses | CWE-120 CWE-190 |
|
| Vendors & Products |
Pavel-odintsov
Pavel-odintsov fastnetmon |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | FastNetMon Community Edition through 1.2.9 contains an integer overflow in the BGP AS_PATH attribute encoder. In src/bgp_protocol.hpp, the IPv4UnicastAnnounce::get_attributes() function computes attribute_length as 'sizeof(bgp_as_path_segment_element_t) + this->as_path_asns.size() * sizeof(uint32_t)' and stores it in a uint8_t field (line 600-605). Since uint8_t can only hold values 0-255, an AS_PATH containing more than 63 ASNs (2 + 64*4 = 258 > 255) causes silent truncation. The truncated length is used for buffer sizing, while the actual data written is the full untruncated amount, resulting in a heap buffer overflow. Similarly, the path_segment_length field at line 621 is also uint8_t, truncating with more than 255 ASNs. | |
| References |
|