CVE-2026-129456: frr: bgpd use-after-free of Tunnel Encapsulation sub-TLVs after a malformed attribute length from a peer

Published Nov 14, 2026
·
Updated

In FRRouting, bgpd accepts a Tunnel Encapsulation attribute (type 23) whose outer TLV length does not match the length of the attribute: the mismatch is only logged and the attribute is processed anyway. A BGP neighbor can send UPDATE messages carrying such an attribute that put the reference count of the attribute's interned sub-TLV chain out of balance, so that the chain is freed while routes stored by bgpd (Adj-RIB-In entries and RIB paths) still point to it. When those routes are later replaced, withdrawn or cleared, for example when the session goes down, bgpd reads the freed memory, decrements a reference count inside it and frees it a second time. In the reporter's build without AddressSanitizer this ended in an assertion failure in bgpd's memory accounting, aborting bgpd and dropping all BGP sessions on the router, and the neighbor can repeat it each time bgpd restarts. Because freed heap memory is written to and freed again, consequences beyond a crash cannot be ruled out. An established BGP session is required. bgpd processes attribute 23 from every neighbor, including eBGP neighbors, unless it is explicitly discarded, although RFC 9012 requires it to be filtered on eBGP sessions by default. The issue was reproduced with "soft-reconfiguration inbound" configured for the neighbor, and the reporter observed that the crash does not occur on every attempt.

Affected Software

1 affected component
Frrouting FRRouting

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Filter or explicitly discard the Tunnel Encapsulation attribute (type 23) on eBGP sessions.

Event History

Nov 14, 2026
CVE Published
via MITRE·07:13 PM
Data Sourced
via MITRE·07:13 PM
DescriptionWeakness
Data Sourced
via OSV·07:13 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which routers are exposed to this issue?

Any bgpd instance that processes Tunnel Encapsulation attribute type 23 from a BGP neighbor is exposed, including instances with eBGP neighbors, unless that attribute is explicitly discarded. The vulnerable processing occurs even though RFC 9012 requires the attribute to be filtered on eBGP sessions.

2

What does an attacker need to exploit it?

The attacker needs an established BGP session to the target and must be able to send UPDATE messages containing a Tunnel Encapsulation attribute with an outer TLV length that does not match the attribute length. No user interaction is required.

3

What is the practical impact?

A malicious peer can cause bgpd to access and free already-freed memory when affected routes are replaced, withdrawn, cleared, or when the BGP session goes down. The reported outcome was an assertion failure that aborts bgpd and drops all BGP sessions, and the peer can repeat the condition after bgpd restarts; impacts beyond a crash cannot be ruled out.

4

What can be done before patching?

Explicitly discard Tunnel Encapsulation attribute type 23 from BGP neighbors, particularly eBGP neighbors. This prevents bgpd from processing the malformed attribute used to trigger the reference-count imbalance.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203