CVE-2026-129456 in FRRouting
Zusammenfassung
von VulDB • 14.11.2026
In FRRouting akzeptiert bgpd ein Tunnel Encapsulation-Attribut (Typ 23), dessen äußere TLV-Länge nicht mit der Länge des Attributs übereinstimmt: Die Diskrepanz wird lediglich protokolliert, und das Attribut wird dennoch verarbeitet. Ein BGP-Nachbar kann UPDATE-Meldungen senden, die ein solches Attribut enthalten, wodurch der Referenzzähler für die internierte Sub-TLV-Kette des Attributs aus dem Gleichgewicht gerät, sodass die Kette freigegeben wird, während Routen, die von bgpd gespeichert sind (Adj-RIB-In-Einträge und RIB-Pfade), weiterhin darauf verweisen. Wenn diese Routen später ersetzt, zurückgezogen oder gelöscht werden – beispielsweise wenn die Sitzung beendet wird –, liest bgdp den bereits freigegebenen Speicher, dekrementiert einen Referenzzähler innerhalb dieses Speichers und gibt ihn ein zweites Mal frei. In der vom Melder verwendeten Build-Version ohne AddressSanitizer führte dies zu einem Assertion-Fehler in der Memory-Abrechnung von bgpd, wodurch bgpd abgebrochen wurde und alle BGP-Sitzungen auf dem Router verloren gingen; der Nachbar kann diesen Vorgang bei jedem Neustart von bgdp wiederholen. Da freigegebener Heap-Speicher beschrieben und erneut freigegeben wird, können Folgen über einen Absturz hinaus nicht ausgeschlossen werden. Eine etablierte BGP-Sitzung ist erforderlich. bgdp verarbeitet Attribut 23 von jedem Nachbarn, einschließlich eBGP-Nachbarn, es sei denn, er wird explizit verworfen, obwohl RFC 9012 vorschreibt, dass dies bei eBGP-Sitzungen standardmäßig zu filtern ist. Das Problem wurde mit konfigurierter „soft-reconfiguration inbound“ für den Nachbaren reproduziert; der Melder beobachtete zudem, dass der Absturz nicht bei jedem Versuch auftritt.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.