En FreeBSD se han detectado cinco vulnerabilidades, entre las cuales hay problemas que pueden potencialmente llevar a la sobrescritura de datos a nivel de kernel al enviar ciertos paquetes de red o permiten a un usuario local elevar sus privilegios. Las vulnerabilidades han sido corregidas en las actualizaciones 12.1-RELEASE-p5 y 11.3-RELEASE-p9.
La vulnerabilidad más crítica () es causada por la falta de validación adecuada del tamaño del paquete en la biblioteca libalias al parsear encabezados específicos del protocolo. La biblioteca libalias se utiliza en el filtro de paquetes ipfw para la traducción de direcciones e incluye funciones estándar para el reemplazo de direcciones en paquetes IP y el parseo de protocolos. La vulnerabilidad permite, mediante el envío de un paquete de red especialmente diseñado, leer o escribir datos en áreas de memoria del kernel (cuando se utiliza la implementación de NAT en el kernel) o del proceso
natd (cuando se usa la implementación de NAT en el espacio de usuario). El problema no afecta a las configuraciones de NAT construidas utilizando filtros de paquetes pf e ipf, así como a las configuraciones de ipfw que no utilizan NAT.
Otras vulnerabilidades:
- es otra vulnerabilidad explotable de forma remota en libalias, relacionada con el cálculo incorrecto de la longitud de los paquetes en el manejador FTP. El problema se limita a la filtración de varios bytes de datos desde el área de memoria del kernel o del proceso natd.
- es una vulnerabilidad en el módulo cryptodev, causada por la referencia a un área de memoria ya liberada (use-after-free), que permite a un proceso no privilegiado sobrescribir áreas arbitrarias de la memoria del kernel. Como solución temporal para mitigar la vulnerabilidad, se recomienda descargar el módulo cryptodev con el comando “kldunload cryptodev”, si ha sido cargado (por defecto, cryptodev no se carga). El módulo cryptodev proporciona a las aplicaciones en el espacio de usuario acceso a la interfaz /dev/crypto para interactuar con los mecanismos de aceleración de hardware en operaciones criptográficas (en AES-NI y OpenSSL, /dev/crypto no se utiliza).
- — la segunda vulnerabilidad en cryptodev que permite a un usuario no privilegiado provocar un fallo en el núcleo al enviar una solicitud para realizar una operación criptográfica con un MAC incorrecto. El problema se debe a la falta de verificación del tamaño de la clave MAC al asignar un búfer para su almacenamiento (el búfer se creaba en función de los datos proporcionados por el usuario sobre el tamaño, sin verificar el tamaño real).
- — vulnerabilidad en la implementación del protocolo SCTP (Stream Control Transmission Protocol), causada por una verificación incorrecta de la clave compartida utilizada por la extensión SCTP-AUTH para autenticar secuencias SCTP. Una aplicación local puede actualizar la clave a través de la API de Socket, interrumpiendo simultáneamente la conexión SCTP, lo que llevará a acceder a un área de memoria ya liberada (use-after-free).
Fuente: opennet.ru
