Se ha descubierto una vulnerabilidad (CVE-2025-14558) en el proceso en segundo plano rtsold y la utilidad rtsol utilizados en FreeBSD, que permite la ejecución remota de código con privilegios de root a través del envío de un paquete especialmente diseñado con un anuncio de enrutador IPv6. Los mensajes RA (Router Advertisement), a través de los cuales se explota la vulnerabilidad, no son enrutables y deben ser descartados por los enrutadores. Para llevar a cabo el ataque, un atacante debe tener la capacidad de enviar un paquete especialmente diseñado desde un sistema que se encuentre en el mismo segmento de red que el host vulnerable.
El proceso en segundo plano rtsold se utiliza en hosts para la autoconfiguración de conexiones a través de IPv6 utilizando el mecanismo SLAAC (StateLess Address AutoConfiguration). El host envía un mensaje ICMPv6 RS (Router Solicitation) en modo multicast y espera recibir mensajes RA (Router Advertisement) de los enrutadores, que contienen información sobre los prefijos de red y los parámetros de configuración. La utilidad rtsol implementa una funcionalidad similar sin iniciar un proceso en segundo plano.
La vulnerabilidad se debe a que rtsold pasa la lista "domain search" indicada en el mensaje RA a la utilidad resolvconf sin verificar su corrección ni escapar caracteres especiales. La utilidad resolvconf es un script de shell que no valida la entrada. Para explotar la vulnerabilidad, basta con enviar un paquete RA con un nombre dominio, que contenga caracteres especiales, por ejemplo, "test`id`test." La vulnerabilidad ha sido corregida en las actualizaciones FreeBSD 15.0-RELEASE-p1, 14.3-RELEASE-p7, 13.5-RELEASE-p8.
Además, en las actualizaciones FreeBSD 14.3-RELEASE-p7 y 13.5-RELEASE-p8 (no afecta a la rama 15.x), se ha corregido la vulnerabilidad (CVE-2025-14769) en el filtro de paquetes ipfw, que permite provocar una denegación de servicio mediante el envío de paquetes especialmente diseñados. La vulnerabilidad solo se manifiesta al usar la directiva "tcp-setmss" en las reglas de ipfw. El problema se debe a que el manejador tcp-setmss, bajo ciertas circunstancias, puede liberar la memoria que contiene los datos recibidos del paquete y devolver un error. Este error era ignorado por el motor de procesamiento de reglas, lo que podía permitir que una regla siguiente permitiera el paso de un paquete cuyo buffer de datos ya había sido liberado, lo que resulta en la desreferencia de un puntero nulo.
Fuente: opennet.ru
