CVE-2026-37461 Overview
CVE-2026-37461 is an out-of-bounds read vulnerability in the ParseIP6Extended function located in /bgp/bgp.go of GoBGP version 4.3.0. GoBGP is an open-source Border Gateway Protocol (BGP) implementation written in Go. A remote attacker can trigger the flaw by sending a crafted BGP UPDATE message to a vulnerable speaker. Successful exploitation causes the GoBGP process to read memory outside allocated bounds, resulting in a Denial of Service (DoS) condition. The vulnerability is tracked under CWE-125: Out-of-bounds Read and requires no authentication or user interaction.
Critical Impact
A single malformed BGP UPDATE message can crash a GoBGP routing daemon, disrupting BGP peering sessions and causing routing instability across affected networks.
Affected Products
- GoBGP v4.3.0
- Systems running BGP peering services built on the affected GoBGP release
- Network infrastructure relying on GoBGP for IPv6 extended community attribute processing
Discovery Timeline
- 2026-05-04 - CVE-2026-37461 published to NVD
- 2026-05-05 - Last updated in NVD database
Technical Details for CVE-2026-37461
Vulnerability Analysis
The vulnerability resides in the ParseIP6Extended function within the BGP message parser at pkg/packet/bgp/bgp.go. The function processes IPv6 extended community attributes carried in BGP UPDATE messages. When the parser encounters a malformed attribute, it reads beyond the bounds of the underlying byte slice without validating the available length. This out-of-bounds read triggers a runtime panic in the Go process, terminating the BGP daemon. Because BGP runs as a long-lived control-plane service, repeated exploitation prevents the speaker from re-establishing peering sessions and propagating routes.
Root Cause
The root cause is missing length validation before slicing or indexing into attribute data inside ParseIP6Extended. The parser assumes that the supplied buffer contains enough bytes for the expected IPv6 extended community structure. An attacker who controls an upstream BGP peer, or who can inject UPDATE messages on the path, can craft attribute lengths that violate this assumption. Refer to the upstream patches in GoBGP commit 362cce3 and GoBGP commit 9ce8936 for the corrective bounds checks.
Attack Vector
Exploitation requires an attacker to deliver a crafted BGP UPDATE message to a GoBGP speaker. In typical deployments, this means the attacker controls a configured BGP peer or a system upstream of the target session. The attack is network-based, requires no privileges on the target, and needs no user interaction. The crafted message contains a malformed IPv6 extended community attribute that drives ParseIP6Extended to read outside allocated memory and crash the process. Source: GoBGP source at v4.3.0.
Detection Methods for CVE-2026-37461
Indicators of Compromise
- Unexpected GoBGP process crashes or Go runtime panic stack traces referencing ParseIP6Extended or pkg/packet/bgp/bgp.go
- BGP peering sessions repeatedly transitioning to the Idle or Active state without operator action
- Inbound BGP UPDATE messages containing malformed IPv6 extended community attributes
Detection Strategies
- Monitor GoBGP service logs for runtime panics, segmentation faults, and abnormal restarts coinciding with received UPDATE messages
- Inspect packet captures on TCP port 179 for BGP UPDATEs with anomalous IPv6 extended community attribute lengths
- Correlate BGP session flap events with peer source addresses to identify a single peer triggering repeated crashes
Monitoring Recommendations
- Alert on process restart counts for GoBGP daemons exceeding baseline thresholds
- Track BGP session uptime and notification messages with reason codes indicating malformed attributes
- Forward GoBGP logs and BGP telemetry to a centralized analytics platform for correlation across peers and time windows
How to Mitigate CVE-2026-37461
Immediate Actions Required
- Upgrade GoBGP to a release that includes commits 362cce3 and 9ce8936, which add bounds validation in ParseIP6Extended
- Audit BGP peer configurations and remove or restrict sessions with untrusted ASNs until patches are applied
- Enable BGP session authentication using TCP-AO or MD5 to limit the set of entities able to inject UPDATE messages
Patch Information
The upstream GoBGP project addressed the out-of-bounds read in two commits referenced by the advisory: GoBGP commit 362cce3 and GoBGP commit 9ce8936. Operators running v4.3.0 should rebuild and redeploy GoBGP from a release that incorporates these fixes. Container images and downstream distributions embedding GoBGP must also be rebuilt against the patched source.
Workarounds
- Apply inbound BGP route filters and attribute policies that drop or sanitize IPv6 extended community attributes from untrusted peers
- Restrict BGP TCP/179 connectivity using ACLs so that only known, trusted peer addresses can establish sessions
- Place GoBGP behind a hardened BGP relay or route reflector that validates attributes before forwarding UPDATE messages to vulnerable instances
# Configuration example: restrict BGP/179 access to known peers
iptables -A INPUT -p tcp --dport 179 -s <trusted_peer_ip> -j ACCEPT
iptables -A INPUT -p tcp --dport 179 -j DROP
# Verify GoBGP version after upgrade
gobgpd --version
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


