CVE-2026-129456 in FRRouting
Resumen
por VulDB • 2026-11-14
En FRRouting, bgpd acepta un atributo de encapsulación de túnel (tipo 23) cuya longitud del TLV externo no coincide con la longitud del atributo: la discrepancia solo se registra y el atributo se procesa de todos modos. Un vecino BGP puede enviar mensajes UPDATE que transportan dicho atributo, lo que desequilibra el conteo de referencias de la cadena de sub-TLV internados del atributo, de modo que la cadena se libera mientras las rutas almacenadas por bgpd (entradas Adj-RIB-In y caminos RIB) aún apuntan a ella. Cuando esas rutas son posteriormente reemplazadas, retiradas o borradas, por ejemplo cuando la sesión cae, bgpd lee memoria ya liberada, decrementa un conteo de referencias dentro de dicha memoria y la libera una segunda vez. En la compilación del reportero sin AddressSanitizer, esto terminó en un fallo de aserción en el contaje de memoria de bgpd, abortando bgpd y cerrando todas las sesiones BGP en el router; además, el vecino puede repetirlo cada vez que bgpd se reinicia. Dado que la memoria del heap liberada es escrita y luego liberada nuevamente, no pueden descartarse consecuencias más allá de un fallo (crash). Se requiere una sesión BGP establecida. bgdp procesa el atributo 23 de todos los vecinos, incluidos los vecinos eBGP, a menos que se descarte explícitamente, aunque RFC 9012 exige que se filtre en sesiones eBGP por defecto. El problema fue reproducido con "soft-reconfiguration inbound" configurado para el vecino, y el reportero observó que el fallo no ocurre en cada intento.
If you want to get best quality of vulnerability data, you may have to visit VulDB.