Safeguard
Vulnerability Analysis•

CVE-2025-43973: Medium RTR Length Check Gap in GoBGP

CVE-2025-43973 is a medium flaw in GoBGP before 3.35.0: RTR messages are not checked for length. Upgrade to 3.35.0 and review your RPKI cache sessions.

Safeguard Security Team
3 min read

CVE-2025-43973 is a medium severity flaw in GoBGP, the Go implementation of BGP. Before version 3.35.0, the RTR packet code did not verify that all bytes of a message were present. Upgrade to 3.35.0 or later, and only accept RTR sessions from RPKI caches you control.

What's affected

  • Product: GoBGP from the osrg project, including the Go module github.com/osrg/gobgp/v3.
  • Affected: versions before 3.35.0.
  • Fixed version: 3.35.0, per the record and the project's v3.34.0 to v3.35.0 comparison.
  • Location: pkg/packet/rtr/rtr.go, the code that parses RPKI to Router (RTR) protocol messages.
  • Severity: CVSS 6.8 (medium).

How to check if you're exposed

# the daemon, as installed by your package manager
dpkg -l | grep -i gobgp

# a Go project that imports the library
go list -m github.com/osrg/gobgp/v3
grep gobgp go.mod

Also check container images and vendored copies. If you embed GoBGP in a larger tool, look in that tool's dependency list. Then find out whether you use RTR at all: if you do not configure an RPKI server, the vulnerable parsing code is not reached through normal operation, although you should still upgrade.

To see which of your projects pull in an affected component, run the free in-browser dependency scan at gold.safeguard.sh/scan. Reachability analysis then helps you separate libraries that your code actually calls from ones that only sit in a lockfile.

What to do now

  1. Upgrade GoBGP to 3.35.0 or later. For Go projects, update the module with go get github.com/osrg/gobgp/v3@v3.35.0 and rebuild.
  2. Redeploy every binary and container image built with an older version. The fix lives in the compiled program, not in the config.
  3. Restrict RTR sessions to RPKI validators you run or trust, and keep that traffic on a management network.
  4. Watch the daemon for crashes or restarts after RTR activity, and keep the previous known good configuration available.
  5. Record GoBGP in your inventory with the version, so the next advisory is a quick lookup.

Why it matters

The weakness is CWE-193, an off by one error. The record describes it as a missing check that the input length matches a message where all bytes are available. When a parser trusts the length it expects and reads beyond what arrived, it can fail on malformed input, and the only impact the CVSS vector scores is on availability.

Routing software deserves care even at medium severity. A BGP speaker that restarts drops sessions and withdraws routes, and a peer or cache that you rely on for origin validation is a trust relationship. The record does not mark this CVE as exploited in the wild, and it is not in the CISA Known Exploited Vulnerabilities list.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Which version fixes it?

GoBGP 3.35.0. Earlier versions do not check that the full RTR message is present.

Am I exposed if I do not use RPKI?

The vulnerable code handles RTR messages, so an instance with no RTR sessions has less exposure. Upgrade anyway, because configuration changes over time.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.