# CVE-2026-3038: desbordamiento de pila en los sockets de enrutamiento de FreeBSD provoca panic del kernel

- **Publicado el:** 2026-02-24
- **Categoría:** Seguridad
- **Página original:** https://linuxgratis.com/articulos/cve-2026-3038-route-stack-overflow-panic-freebsd

Un usuario sin privilegios puede provocar un panic del kernel en FreeBSD explotando un desbordamiento de búfer de pila en rtsock_msg_buffer(). Te explicamos a quién afecta, la gravedad y cómo parchearlo.

---

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:

1. **Sistema base con paquetes:** ejecuta `pkg upgrade -r FreeBSD-base` y reinicia.
2. **Binarios con freebsd-update:** ejecuta `freebsd-update fetch`, luego `freebsd-update install` y reinicia.
3. **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](/freebsd).

## Fuente

- Aviso oficial: [FreeBSD-SA-26:05.route](https://www.freebsd.org/security/advisories/FreeBSD-SA-26:05.route.asc)
- Detalle del CVE: [CVE-2026-3038 en NVD](https://nvd.nist.gov/vuln/detail/CVE-2026-3038)
