El 24 de febrero de 2026 el equipo de seguridad de FreeBSD publicó el aviso FreeBSD-SA-26:05.route, que corrige la CVE-2026-3038. Se trata de un desbordamiento de búfer de pila en la interfaz de sockets de enrutamiento del kernel, y deja que un usuario local sin privilegios tumbe el sistema entero con un panic.
Qué es la vulnerabilidad
La interfaz de sockets de enrutamiento (route(4)) es lo que usan los procesos de espacio de usuario para consultar y modificar la tabla de rutas del kernel: añadir o eliminar rutas, vigilar cambios en las interfaces de red y cosas por el estilo. Herramientas como route o los demonios de enrutamiento dependen de ella.
El fallo está en la función rtsock_msg_buffer(), que construye los mensajes de los sockets de enrutamiento. Esta función copia estructuras sockaddr dentro de una sockaddr_storage que vive en la pila, pero da por hecho que el campo de longitud del sockaddr de origen ya se había validado antes. Cuando ese campo no se valida, un programa malicioso puede provocar un desbordamiento de hasta 127 bytes que escribe más allá del búfer reservado en la pila.
A quién afecta
La vulnerabilidad afecta a todas las versiones soportadas de FreeBSD, en concreto:
- FreeBSD 13.5
- FreeBSD 14.3 y 14.4
- FreeBSD 15.0
Como el problema está en el kernel y no en un servicio expuesto a la red, el vector de ataque es local: el atacante tiene que poder ejecutar código en la máquina, aunque sea como usuario sin privilegios. Abrir un socket de enrutamiento y disparar el fallo no requiere permisos especiales.
Gravedad e impacto
El desbordamiento sobrescribe el stack canary, el valor centinela que el compilador coloca para detectar corrupción de pila. Cuando la función retorna y se detecta esa corrupción, el kernel responde con un panic inmediato. El resultado es una denegación de servicio (DoS) local: cualquier usuario del sistema puede tirar el equipo cuando le apetezca.
El aviso añade un matiz importante. Aunque la corrupción del canary frena el ataque en el caso normal, pueden existir otros fallos del kernel capaces de saltarse esa protección. Si se combina con una fuga del valor del canary u otra vulnerabilidad, el desbordamiento abriría la puerta a una escalada de privilegios. Por eso se clasifica como de gravedad alta y no como un simple DoS.
Mitigación y parche
No hay workaround: la única salida es aplicar el parche. FreeBSD ofrece tres vías:
- Sistema base con paquetes: ejecuta
pkg upgrade -r FreeBSD-basey reinicia. - Binarios con freebsd-update: ejecuta
freebsd-update fetch, luegofreebsd-update instally reinicia. - Desde el código fuente: descarga el parche oficial desde
security.FreeBSD.org, aplícalo y recompila el kernel, porque el fallo está en código del kernel.
Aplica la actualización cuanto antes en cualquier FreeBSD multiusuario o que ejecute código de terceros, que es donde el riesgo de DoS local pesa más.
Si te interesan los fundamentos de aislamiento y endurecimiento de sistemas tipo Unix, échale un vistazo también a nuestra ficha de FreeBSD.
Fuente
- Aviso oficial: FreeBSD-SA-26:05.route
- Detalle del CVE: CVE-2026-3038 en NVD