Vulnerabilidad en la llamada al sistema execve, que permite acceso root en FreeBSD

Se ha descubierto una vulnerabilidad en FreeBSD (CVE-2026-7270) que permite a un usuario no privilegio ejecutar código con derechos de kernel y obtener acceso root al sistema. La vulnerabilidad afecta a todas las versiones de FreeBSD lanzadas desde 2013. Se ha publicado un exploit que ha sido probado en sistemas con FreeBSD 11.0 a 14.4. La vulnerabilidad se ha corregido en las actualizaciones FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 y 13.5-RELEASE-p13. Para versiones más antiguas, se puede utilizar un parche.

El problema fue causado por un desbordamiento de búfer en la llamada del sistema execve, que ocurre al procesar el prefijo especificado en la primera línea de los scripts para determinar la ruta al intérprete (por ejemplo, "#! /bin/sh"). El desbordamiento ocurre al llamar a la función memmove debido a la incorrecta formulación de la expresión matemática para calcular el tamaño de los argumentos a copiar en el búfer. En lugar de restar de "args->endp" los valores de "args->begin_argv" y "consume", se restó solo el valor de "args->begin_argv" y la variable consume se sumó al resultado en lugar de restarse, lo que resulta en que se copian más datos por dos valores de "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));

El desbordamiento permite sobrescribir elementos de la estructura "exec_map" en una área de memoria adyacente de otro proceso. En el exploit, el desbordamiento se utiliza para sobrescribir el contenido de "exec_map" de procesos privilegiados que se ejecutan periódicamente en el sistema. Se eligió el proceso sshd, que al establecer cada conexión de red bifurca un proceso " /usr/libexec/sshd-session" con derechos de root a través de la llamada fork y execve.

El exploit introduce para este proceso la variable de entorno "LD_PRELOAD=/tmp/evil.so", que provoca que se cargue en el contexto de sshd-session su propia biblioteca. La biblioteca inyectada crea un archivo ejecutable en el sistema de archivos /tmp/rootsh con la bandera suid root. La probabilidad de un desbordamiento exitoso se estima en un 0.6%, pero gracias a la repetición cíclica de intentos, la explotación exitosa se alcanza aproximadamente en 6 segundos en un sistema con CPU de 4 núcleos.

Vulnerabilidad en la llamada al sistema execve, que permite acceso root en FreeBSD

Además, se han corregido varias otras vulnerabilidades en FreeBSD:

  • CVE-2026-35547, CVE-2026-39457 — desbordamientos de búfer en la biblioteca libnv, utilizada en el núcleo y en aplicaciones del sistema base para procesar listas en formato clave/valor y organizar la transferencia de datos en la comunicación entre procesos. El primer problema es causado por un cálculo incorrecto del tamaño del mensaje al procesar encabezados IPC específicamente formateados. El segundo problema conduce a un desbordamiento de pila al intercambiar datos a través de un socket debido a la falta de verificación de que el tamaño del descriptor de socket coincide con el tamaño del búfer utilizado en la función select(). Estas vulnerabilidades podrían ser explotadas para escalar privilegios en el sistema.
  • CVE-2026-42512 — desbordamiento de búfer explotable de forma remota en dhclient, que se produce por un cálculo incorrecto del tamaño del arreglo de punteros utilizado para pasar variables de entorno al dhclient-script. No se descarta la posibilidad de crear un exploit para la ejecución remota de código mediante el envío de un paquete DHCP específicamente moldeado.
  • CVE-2026-7164 — desbordamiento de pila en el filtro de paquetes pf, que ocurre al procesar paquetes SCTP específicamente formateados. El problema es causado por un análisis recursivo ilimitado de los parámetros SCTP.
  • CVE-2026-42511 — posibilidad de inyección de directivas arbitrarias en dhclient.conf debido a la falta de un adecuado escape de los corchetes dobles en los campos BOOTP recibidos de un servidor DHCP externo. Durante el posterior análisis de este archivo por el proceso dhclient, el campo indicado por el atacante es pasado al dhclient-script, lo que podría utilizarse para ejecutar comandos arbitrarios con privilegios de root en sistemas que usan dhclient, al interactuar con un servidor DHCP controlado por el atacante.
  • CVE-2026-6386 — falta de un manejo adecuado de grandes páginas de memoria en la función del núcleo pmap_pkru_update_range(). Un usuario no privilegiado puede hacer que pmap_pkru_update_range() maneje memoria del espacio de usuario como una página en la tabla de páginas de memoria, logrando sobrescribir un área de memoria a la que no tiene acceso.
  • CVE-2026-5398 — acceso a un área de memoria ya liberada en el controlador TIOCNOTTY, lo que permite a un proceso no privilegiado obtener privilegios de root.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster