Executive brief
GoBGP is an open-source implementation of the Border Gateway Protocol (BGP) used for routing internet traffic. A vulnerability in its BGP Monitoring Protocol (BMP) parser could allow a remote attacker to send specially crafted network packets that cause the service to read memory outside of intended boundaries. This can lead to service instability or crashes, potentially disrupting network routing operations.
Technical details
An out-of-bounds read vulnerability exists in GoBGP's BMP (BGP Monitoring Protocol) parser within the 'pkg/packet/bmp/bmp.go' file. Specifically, the 'BMPPeerUpNotification.ParseBody' and 'BMPStatisticsReport.ParseBody' functions fail to validate the length of input data before reading fixed offsets from a data slice. While the internal 'parseBMPMessage' function utilizes a defer/recover mechanism to prevent immediate process crashes, these public methods can still be exploited via remote network packets to trigger panics or unexpected behavior. The issue is addressed in version 4.4.0 by adding explicit length checks (e.g., ensuring at least 4 bytes for Statistics Reports and 20 bytes for Peer Up Notifications) before field parsing.
Affected products
- osrg GoBGP < 4.4.0
Timeline
- 2026-04-01: patched: Version 4.4.0 released with fix.
- 2026-05-04: disclosed: Initial disclosure and CVE assignment.
- 2026-05-04: advisory